PDA

View Full Version : سوال: استفاده از dll های نوشته شده در VS.Net2008 در دلفی7



iman_Delphi7
پنج شنبه 25 آذر 1389, 09:37 صبح
با عرض سلام و خسته نباشید خدمت دوستان و اساتید گرامی.
می خواستم ببینم آیا می شه یه dll که با Visual Studio .NET 2008 نوشته شده رو تو دلفی استفاده کرد؟
من یه dll ساختم و تو دلفی صداش زدم. ولی وقتی برنامه می خواد اجرا بشه خطای زیر رو می ده:

The application failed to initialize property (0xc000007b). Click on OK to terminate the application

dll رو هم اینجوری صدا زدم:



Function Test2(C1:Integer; C2:Integer) :Integer; StdCall ; External 'ComDLLForDelphi.dll'


'ComDLLForDelphi.dll هم همون dll ی که تو .net نوشته شده.
تابع Test2 هم اینجوریه:


Public Function Test2(ByVal C1 As Integer, ByVal C2 As Integer) As Integer
Return C1 * C2
End Function

می خواستم ببینم اصلا چنین کاری ممکن هست یا نه؟ واگه میشه این کارو کرد، اشکال کار من کجاست؟
ممنون می شم اگه کسی می دونه راهنمایی کنه.

BORHAN TEC
پنج شنبه 25 آذر 1389, 10:31 صبح
بله، این امکان وجود دارد.من معمولاً برای انجام این کار از atozed Cross Talk استفاده می کنم. البته با visual studio 2008 تست نکردم ولی با VS 2010 جواب داد. کار با این ابزار بسیار ساده است. این نرم افزار رایگان است و شما می توانید آن را از سایت atozed.com دانلود کنید. همچنین در سایت گفته شده یک فیلم کوتاه هم درباره آن وجود دارد که روش انجام کار را به خوبی شرح می دهد.

vcldeveloper
پنج شنبه 25 آذر 1389, 22:44 عصر
می خواستم ببینم آیا می شه یه dll که با Visual Studio .NET 2008 نوشته شده رو تو دلفی استفاده کرد؟
Visual Studio یک IDE هست، نه یک زبان برنامه نویسی؛ شما باید مشخص کنید که با چه زبانی و برای چه پلت فرمی اون DLL رو کامپایل کردید. اگر DLL را با استفاده از ++VC و برای سکوی Win32 کامپایل کردید، می تونید توابع آن را مثل توابع API ویندوز فراخوانی کنید. اگر DLL برای سکوی دات نت کامپایل شده، به طور عادی قابل اجرا از داخل برنامه های Native Code نیست، اون وقت یا باید اون DLL را به صورت شی COM در بیارید تا توسط سایر زبان های برنامه نویسی قابل دسترس باشه، یا اینکه از ابزارهای تجاری سایر شرکت ها مثل CrossTalk یا Hydra استفاده کنید. البته هر کدوم از اینها هم محدودیت ها و شرایط خاص خودشان را دارند.


این نرم افزار رایگان است
CrossTalk به طور رسمی یک نرم افزار تجاری هست:
http://atozed.com/CrossTalk/Buy/index.EN.aspx