Не получается вытащить сложную функцию из dll
void __stdcall Event(WideString Message);
Есть Функция Test, которой передается WideString, int и указатель на функцию Event (см. выше), я этот тип описываю так:
typedef void (__stdcall *MyEvent)(WideString Message);
Когда я пытаюсь вытащить эту функцию Test из dll'ки, но при выполнении программы вылезает ошибка...
Как нормально вытаскивать эту функцию? Может я не правильно описал typedef void (__stdcall *MyEvent)...
PS: Ф-ия Test написана на Delphi и сохранена в dll'ке...
Вот код программы, где вытаскиваю ф-ию:
void __stdcall Event(WideString Message)
{
Form1->Memo1->Lines->Add(Message);
// return 0;
}
typedef void (__stdcall *FEvent)(WideString Message, int i, MyEvent E);
HINSTANCE LibHandle;
WideString S;
S = "lalala";
LibHandle = LoadLibrary("project2.dll");
if (LibHandle)
{
FEvent Ev = (FEvent) GetProcAddress(LibHandle, "Test");
if (Ev == NULL)
Application->MessageBox("GetProcAddress Error","error",MB_OK);
else
Ev(S,2, Event);
// Ev(S,2, NULL);
FreeLibrary(LibHandle);
}
else
Application->MessageBox("Can't find project2.dll","error",MB_OK);
покажи dll (man@kiev.vectis.ru) - дам формат ф-и