PDA

View Full Version : سوال: استفاده از برنامه C++.NET در VB.NET



bsflasher
دوشنبه 06 خرداد 1387, 10:21 صبح
با سلام
برنامه کاملی در Visual C++ 6.0 موجود است که کلاس بندی شده است. میخواهیم از کلاس های این برنامه در VB.NETاستفاده کنیم. ابتدا برنامه را به VC++.NET تبدیل کردیم و با چند رفع اشکال برنامه بدرستی کامپایل و اجرا شد. حال نوع برنامه را DLL میکنیم و در این حالت کامپایل میکنیم .بدون خطا کامپایل شد. اما زمانیکه برنامه یا DLL را در VB.NET وارد می کنیم نمیتوانیم شی ای جدید از این نوع بسازیم تا به کلاس ها دسترسی داشته باشیم. در حقیقت اصلا نام برنامه در لیست کشویی IMPORTS اول صفحه نمی آید . :عصبانی++:
آیا روش کار همین است ؟
آیا تغییرات دیگری نیز نیاز است؟
آیا روش دیگری هم وجود دارد؟
با تشکر

gdevnb
دوشنبه 06 خرداد 1387, 19:05 عصر
آیا dll رو به رفرنسها در پروژه vb.net اضافه کردید؟

bsflasher
دوشنبه 06 خرداد 1387, 19:48 عصر
بله مشكل از پايه است. فايل هاي ديگري را ساخته و افزوده ام و طريقه كار را بلدم ، اما اين فايل بدرستي كار نميكند !!!

__H2__
پنج شنبه 09 خرداد 1387, 02:27 صبح
سلام
تبدیل کدهای VC++6 به VC++.Net برابر با بی خیال شدن کل کد قدیمی و شروع به کد نویسی از پایه در Net. است.

شما کد VC++6 تان را که تحت MFC یا ATL بوده احتمالاً به کد VC++8 و یا VC++9 و باز هم تحت MFC و ATL تبدیل کرده اید، و گرنه اصلاً نمیتوانستید کد را تبدیل کنید و باید کد را طبق کلاسسهای دات نت از نو بازنویسی میکردید.

حدس قوی من ان است کد شما تحت دات نت نیست، و همچنان تحت MFC و ATL است،
این کد برای استفاده در محیطهای دیگر مثل VB.Net ، باید طبق قوانین و مستندات COM پیکر بندی شود تا تازه بیتوان قسمت هایی اش را در دات نت استفاده کرد.

دات نت محیط قوی است، میتوانید کلش را با دات نت و حتی مستقیم تحت خود VB.Net (و یا دیگر زبانهای دات نتی بنویسید)

ولی دقت کنید که اگر از VC++.Net میخواهید استفاده کنید، حتماً در زمان New Project گزینه CLR را انتخاب کنید.

موفق باشید.