** Dmitri |
Отправлено: 08.09.2004, 15:50 |
|
Не зарегистрирован
|
Господа, заранее извиняюсь за вопрос, но как вызвать в Delphi функции из DLL, написанные в BCB на примере:
extern "C" void __declspec(dllexport) Initial(HWND HANDLE);//в заголовочном файле DLL
Прошу, пожалуйста, помочь. |
|
AVC |
Отправлено: 09.09.2004, 10:51 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Вот примерный вариант
CODE |
C
extern "C" void __declspec(dllexport) Initial (HWND HANDLE);
void Initial(HWND HANDLE) { ShowMessage("Я уже в dll"); }
Pascal
procedure TForm1.BitBtn1Click(Sender: TObject);
type
TInitialProc = procedure(const handle: HWND) stdcall;
var
hlib: HMODULE;
InitialProc: TInitialProc;
begin
hlib := SafeLoadLibrary('CDll.dll');
if (hlib < 32) then
begin
ShowMessage('Not load library');
Exit;
end
else
begin
@InitialProc := GetProcAddress(hlib, '_Initial');
if @InitialProc <> nil then InitialProc(0);
FreeLibrary (hlib);
end
end;
|
Не имею большого опыта писания на паскале, поэтому строка FreeLibrary вы зывает exception Privileged instruction. Либо разберетесь сами, либо помогут более опытные. |
|
|