PDA

View Full Version : استفاده از آرایه ای از Variant در وب سرویس



mrt2081
دوشنبه 30 شهریور 1388, 16:04 عصر
یک وب سرویس دارم که با #C نوشته شده است. یکی از توابع این وب سرویس خروجی از نوع Array of Object دارد. Object یک رکورد است که دو فیلد string دارد.وقتی با WSDL Importer دلفی این وب سرویس را Import می کنم نوع خروجی این تابع array of variant می شود ولی من نمی توانم به فیلد های رکورد variant دسترسی داشته باشم لطفا راهنمایی کنید

ghabil
دوشنبه 06 مهر 1388, 05:35 صبح
منظورت رو از فیلذهای رکورد ورینت نمیفهمم ! وقتی آرایه داری به تک تک خونه هاش دسترسی داری از توع و ورینت ؟ ببین Length رو درست بر میگردونه

Saeed_m_Farid
دوشنبه 06 مهر 1388, 15:33 عصر
یک وب سرویس دارم که با C#‎‎ نوشته شده است. یکی از توابع این وب سرویس خروجی از نوع Array of Object دارد. Object یک رکورد است که دو فیلد string دارد.وقتی با WSDL Importer دلفی این وب سرویس را Import می کنم نوع خروجی این تابع array of variant می شود ولی من نمی توانم به فیلد های رکورد variant دسترسی داشته باشم لطفا راهنمایی کنید
معمولاً انواع داده غیر انتزاعی (مثلاً همین Object) تو پلتفرم دات نت با انواع داده دلفی سازگار نیست یا اصلاً وجود نداره، معمولاً تو این نوع خروجی ها (مثلاً Dataset و ()Byte و ...) دلفی از خودش یه نوع داده اختراع میکنه که هیچ تناسبی با نوع داده دات نتی نداره و قابل استفاده نیست (حداقل واسه من) ...

اگه وب سرویس رو خودتون نوشتین، این نوع موردنظر شما، نوع داده پیچیده ای نیست؛ من برای این کار یه کلاس تعریف می کنم، که تشکیل شده از فیلدهای انتزاعی (مثل int یا string و ...) که برای دلفی هم شناخته شده هست و قابل استفاده؛ یا اینکه تو وب سرویس string ها رو با یه کاراکتر مشخص (مثلا! ^) به هم بچسبونید و بعنوان خروجی وب متد قرار بدین و سمت دلفی با delimiter همون کاراکتر از هم جدا کنید ...