C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
DLL из Builderа в Delphi, вызов ф-ций в Delphi из DLL, созд. в BCB
** 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. Либо разберетесь сами, либо помогут более опытные.

Вернуться в Вопросы программирования в C++Builder