سلام...!
من یه Dll با VB6 طراحی کردم. میخواستم ببینم که چه طوری می تونم از اون داخل یه برنامه MFC استفاده کنم.
ممنون.
موفق باشید...
سلام...!
من یه Dll با VB6 طراحی کردم. میخواستم ببینم که چه طوری می تونم از اون داخل یه برنامه MFC استفاده کنم.
ممنون.
موفق باشید...
اگر dll های معمولی هستند می توانید از این مقاله استفاده کنید:
http://www.flipcode.com/archives/Int...ic_And_C.shtml
در صورتی که dll با Delphi باشه و پارامتر های اون هم مشخص باشه،میشه از این آموزش استفاده کرد؟
ممنون میشم یه توضیح کلی بدید.
با تشکر
قکر کنم من منظور رو بد رسوندم.
یه DLL هست که با Delphi 7 نوشته شده و نویسنده توضیحات و پارمتر های اون رو گذاشته.
حالا من قصد دارم اون Dll رو تو VC++6 استفاده کنم.
روش استفاده در VC رو میشه توضیح بدید؟
دقیقا جواب همین مطلب را توضیح دادم! دوباره بخوانید:
ترجمه مجدد آن می شود تضمینی نیست که dll نوشته شده در دلفی با ++C کاملا سازگار باشد.با dll های معمولی که توسط زبان های مختلف می سازید (همان مقاله) تضمینی وجود ندارد که کاملا درست کار کند.
برای اینکه کتابخانه های شما با اکثر زبان ها قابل استفاده باشد می توانید از COM استفاده کنید که هم نوشتن آن سخت است هم استفاده از آن و محدود به ویندوز هم می شوید.
به همان شکل ذکر شده در مقاله عمل کنید، مثلا:
typedef void ( *funcName )( */parameters here/* );
funcName FuncAddress;
HINSTANCE hDLL = LoadLibrary("Yourdll.dll");
if (hDLL != NULL)
{
FuncAddress = (funcName )GetProcAddress((HMODULE)hDLL, "DLLFunc1");
if ( !FuncAddress )
{
// handle the error FreeLibrary(hDLL);
return SOME_ERROR_CODE;
}
else
// something else
}
با تشکر ، با کد زیر حل شد.
#include "stdafx.h"
#include "windows.h"
#include "stdio.h"
#include "conio.h"
int main(int argc, char* argv[])
{
HINSTANCE LoadMe;
LoadMe = LoadLibrary("Project1.dll");
typedef unsigned char (__stdcall *CreateFn)();
CreateFn LibMEP;
unsigned char x;
LibMEP = (CreateFn)GetProcAddress(LoadMe, "func");
x = LibMEP();
getch();
return 0;
}