Подключение внешних Dll. Help |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
Подключение внешних Dll. Help |
Alesha_GA |
Сообщение
#1
|
Пионер Группа: Пользователи Сообщений: 56 Пол: Мужской Репутация: 0 |
Возможно ли в BP 7 использование Dll. Если можно, то как.
-------------------- Deleting...
All RESET [Return] |
Alex |
Сообщение
#2
|
Бывалый Группа: Пользователи Сообщений: 201 Репутация: 0 |
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 |
Сообщение
#3
|
... Группа: Пользователи Сообщений: 1 347 Пол: Мужской Репутация: 3 |
Имя библиотеки должно совпадать с сохраненным файлом!
|
Alex |
Сообщение
#4
|
Бывалый Группа: Пользователи Сообщений: 201 Репутация: 0 |
Использовать процедуру в программе надо так:
procedure name(...);external 'Mylib'; |
BlackShadow |
Сообщение
#5
|
Гость |
Можно воспользоваться и другим способом :
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 такой функции нет, а я не хотел, чтобы это было летально для всей программы. |
Текстовая версия | 23.12.2024 20:55 |