Alesha_GA
16.05.2003 7:31
Возможно ли в BP 7 использование Dll. Если можно, то как.
library name;
uses ....;
{описание процедур; типы даных, константы и т.д. писать для послед исп. в проге нельзя}
procedure name1;
begin
end;
...
procedure namen;
begin
end;
exports
name1 index1;
name3 index3; {пишешь названия процедур, которые будешь исп в прогах}
.....
namen index n;
begin
{раздел инициализации отсутствует}
end.
(при работе protect режим Dos и режим Windows}
Использовать можно только в копилерах Bp.EXE, BPC.exe, BPW.EXE.
Borland Pascal with objects, позваляет писать собств Dll
Имя библиотеки должно совпадать с сохраненным файлом!
Использовать процедуру в программе надо так:
procedure name(...);external 'Mylib';
BlackShadow
16.05.2003 21:44
Можно воспользоваться и другим способом :
Var
hLib:Integer;
Proc:Function(Param1,Param2:Integer;Param3:Pointer):Boolean; {Например}
Begin
hLib:=LoadLibrary('My.Dll');
If hLib<>0 Then
Begin
@Proc:=GetProcAddress(hLib,'MyFun');
If @Proc<>Nil Then
Proc(1,2,Nil); {Тоже например}
End
End.
Этим методом я воспользовался, когда вызывал RegisterServiceProcess из Kernel32. Проблема в том, что в NT такой функции нет, а я не хотел, чтобы это было летально для всей программы.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.