ورود

View Full Version : سوال: استفاده از class library .net در ویژوال بیسیک 6



ferdin
یک شنبه 22 بهمن 1391, 13:32 عصر
سلام

من در ویژوال سی شارپ 2010 یک پروژه از نوع Class Library دارم که می دونید خروجی این پروژه یک DLL هست ، و زمانی که میخواهم در vb6 از منوی Project => Add refrence را میزنم و DLL مذکور را انتخاب میکنم پیغام زیر را می دهد :


Can't Add a refrence to a specificed file

البته همراه DLL یک فایل *.tlb هم ساخته شده که این فایل Add to refrence میشه .


من Search زدم و گفته شده بود که باید DLL با Regasm رجیستر بشه ، اما من نتونستم registeresh کنم ، از طرفی در پروژه VS2010 من روی پروژه کلیک راست کردم و Properties را زدم در قسمت Assmebly information تیک گزینه Make Assembly COM-Visible را زدم و در تب BUILD هم تیک گزینه Register COM interop را هم زدم که اینکار باعث میشه dll رجیستر بشه و اون فایل tlb ساخته بشه .

حالا من کافیه تو پروژه از این tlb استفاده کنم یا اینکه dll رو هم باید add refrence کنم ؟
من وقتی می خوام از tlb استفاده کنم و مثلا دستور زیر رو می نویسم :

Dim dd As TestVbDll.ClassTest
Set dd = New TestVbDll.ClassTest



به Error بر می خورم :



:'(Run Time Error '-2146233079 (80131509
Automation Error

که نمی دونم باز ربطی به register شدن اسمبلی داره یا نه ؟ اگه داره یکی به من بگه دقیقا باید چکار کنم.

ممنون میشم اگه کسی می تونه کمک کنه .

Hashemvp
یک شنبه 22 بهمن 1391, 14:39 عصر
سلام من زیاد در این مورد اطلاعی ندارم و یک بار با یکی از دوستان ک سی شارپ کار بود خواستیم این کارو بکنیم ک نشد تقریبا همین مشکل شما برامون پیش امد ک بی خیال شدیم

البته همه ی این خطا ها و مشکل ها بخاطر اینکه این زمانی که دی ال ال رو میسازید تنظیم های درست رو انتخاب نمیکنید که با همه ی زبان ها بتونه در ارتباط باشه

توی ویژال استودیو 2010 نمیدونم تنظیماتش ب چ شکلی مگر نه حتما کمک میکردم ولی تنها راهنمایی ک میتونم بکنم اینکه توی تنظیمات خروجی دی ال ال یکسری تنظیم ها هست ک باید انجام بشه که بشه از اون توی زبان های قدیمی ترمثل همین ویبی 6 استفاده کرد

موفق باشی

ferdin
یک شنبه 22 بهمن 1391, 15:47 عصر
ممنون از توجهت دوست عزیز

راستش من نیاز دارم که یکسری وب سرویس رو تو برنامم Call کنم . با vb6 به نتیجه نرسیدم برا همین اول با clr stored procedure وب سرویس هارو call کردم و تو sql ازش استفاده کردم، اما کارم خیلی زیاد شد و کد نویسیش هم تو C# و هم SQL و vb6 .

برا همین یک پروژه class library تو c# یجاد کردم و اون وب سرویس ها رو فقط به این پروژه Add refrence زدم ، حالا می خوام تو VB6 با استفاده از این dll به وب سرویس ها دسترسی داشته باشم که باز به مشکل خوردم و برا بعضی کلاسها اون errori که تو بالا گفتم رو به من میده .

حالا با توجه به این مسائل اگه کسی می تونه راهی برا call کردن وب سرویس ها تو ویبی به من نشون بده ممنون میشم.