DLL C++ Builder 6 Деменёв Александр
******************************************************************
Сам DLL
****************************************************************** // Добавляем экспортированные функции с указанием их типа (void)
// Обьявляется глобально после инклудов
extern "C" __declspec(dllexport) void TEST();
#pragma argsused
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
return 1;
}
//---------------------------------------------------------------------------
void TEST()
{
ShowMessage("OK");
}
******************************************************************
Программа использущая DLL
******************************************************************
//Обьявляем в заголовочном файле
typedef bool (__stdcall *MOUSEHOOKFCT)();
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
..................................................................
//Код в кнопке
void __fastcall TForm1::sButton1Click(TObject *Sender)
{
HANDLE DllHandle;
DllHandle = LoadLibrary("C:\\Program Files\\Borland\\CBuilder6\\Projects\\DLL\\Project2.dll");
MOUSEHOOKFCT InstHook = reinterpret_cast<MOUSEHOOKFCT>
(GetProcAddress(DllHandle, "_TEST"));//Указываем имя функции DLL
if(!InstHook())
Form1->Caption = " Неудалось !";
else
Form1-> Caption = " Удалось";
}