Помощь - Поиск - Пользователи - Календарь
Полная версия: Подключение внешних Dll. Help
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
Alesha_GA
Возможно ли в BP 7 использование Dll. Если можно, то как.
Alex
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
AlaRic
Имя библиотеки должно совпадать с сохраненным файлом!
Alex
Использовать процедуру в программе надо так:
procedure name(...);external 'Mylib';
BlackShadow
Можно воспользоваться и другим способом :

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 такой функции нет, а я не хотел, чтобы это было летально для всей программы.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.