PDA

View Full Version : نمونه ای از dll در CPP



ahmadsystemco
سه شنبه 20 مرداد 1388, 22:03 عصر
سلام خدمت دوستان عزیز
یک نمونه ساخت dll را در C++ می خواهم که متد هایی در آن تعریف شود و آن متدها مقدار بازگشتی مثلا رشته داشته باشند و بتوان این دستورات را در محیط هایی مانند C# اجرا کرد.
لطفا مثال کاملی باشد و کامپایلر آن را نیز معرفی کنیید.
شرمنده من C++ کار نیستم و حرفه ام C# است
با تشکر AHS

tdkhakpur
چهارشنبه 21 مرداد 1388, 00:29 صبح
کد زیر طرز ساختار خارج کردن داده و توابع در داخل dll هست.


//---------------------------------------------------------------------------
#include <vcl.h>
//---------------------------------------------------------------------------
extern "C" __declspec(dllexport) long AppProc(void);
//---------------------------------------------------------------------------
long AppProc (void)
{
ShowMessage("Hi My Friend...");
return 0;
}

طرز استفاده.


long RunDllProgram( char *dllName )
{
long RtnVal = 0;
HMODULE hmodule;
LngType (*AppProc)(void);
hmodule = LoadLibrary(dllName);
if( hmodule == NULL) return RtnVal -1;
AppProc = (long (*)(void)) GetProcAddress(hmodule, "_AppProc");
if( AppProc == NULL ) { FreeLibrary(hmodule); return -1; }
RtnVal = (*AppProc)();
FreeLibrary(hmodule);
return RtnVal;
}

ahmadsystemco
چهارشنبه 21 مرداد 1388, 14:17 عصر
سلام
دوست عزیز میتونیید مثال را خودتان آماده کنید و در سایت قرار دهید چون من هیچ چیز از آن نمی فهمم :لبخند:.
اگر هم کتابی معرفی کنید ممنوم می شم.
تشکر

tdkhakpur
چهارشنبه 21 مرداد 1388, 19:19 عصر
سلام
یک پروژه DLL شما میتوانید option ها را به مسیر خودتان تغییر بدید و با تابع RunDllProgram برنامه dll با ذکر نام به تابع اجرا کنید.