Re: Помогите разобраться с Dll в Builder
От: Flamer Кипр http://users.livejournal.com/_flamer_/
Дата: 09.06.03 10:47
Оценка: 5 (2)
Здравствуйте, LeoMonster, Вы писали:

LM>Здравствуйте!


LM>Есть Dll, на чем написана не известно. Надо подключить в начале работы и выгрузить в конце. Делаю так:


[]

Попробуйте так:

1. в *.h-файле:


typedef void (__stdcall *DLLFunction) (int);

class TForm1 : public TForm
{
...

private:

 HANDLE hDll;
 DLLFunction Feed;
 DLLFunction ConnectKKM;

};


в *.cpp-файле:

void __fastcall TForm1::FormCreate(TObject *Sender)
{
 hDll = ::LoadLibrary("chon100.dll");

   if(hDll)
    {
     Feed = (DLLFunction) ::GetProcAddress(hDll,"Feed");
     ConnectKKM = (DLLFunction) ::GetProcAddress(hDll,"ConnectKKM");
    }

}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
Feed  = NULL;
ConnectKKM = NULL;

  if(hDll)
   ::FreeLibrary(hDll);
hDll = NULL;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{

 if(ConnectKKM)
    ConnectKKM(1);

 if(Feed)
    Feed(1);
  
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.