ВУЗ:
Составители:
Рубрика:
Интерфейсный модуль
Доступ к данным dll-библиотеки принято осуществлять с использованием
процедурного интерфейса, то есть с помощью специальных интерфейсных
модулей.
При создании интерфейсного модуля (модуля импорта)
рекомендуется следующая последовательность действий:
• открыть файл проекта, в котором надо организовать вызов процедур или
функций из динамической библиотеки;
• создать модуль импорта. Для этого выполнить команду File|New и в
открывшемся окне выбрать Unit. В файле проекта в разделе Uses
появится ссылка на созданный модуль;
• в секцию
interface модуля импорта внести описания, указывающие
компилятору формат вызова процедур и функций;
• сохранить модуль импорта в файле.
Примеры 2 и 3 поясняют работу с библиотекой Beeper, содержащей
единственную процедуру
BeepMe. При вызове этой процедуры компьютер
подаёт звуковой сигнал. В примере 2 используется статический импорт без
интерфейсного модуля.
В примере 3 приведён интерфейсный модуль
SoundUnit, в котором
определены три разных варианта вызова процедуры
BeepMe из Beeper.dll: по
имени, по имени в библиотеке и по номеру. Кроме того, показано, что в
приложении процедуре можно давать другое имя (
BeepMeTwo, BeepMeThree).
Динамический импорт
Для организации динамического импорта надо программно задать
действия, которые при статическом импорте выполняет загрузчик DLL.
Действия выполняются через функции
Windows в следующем порядке:
• загрузка DLL в память;
• получение адресов точек входа в процедуры и функции DLL;
• использование адресов для вызова процедур и функций;
• освобождение библиотеки.
158
Интерфейсный модуль
Доступ к данным dll-библиотеки принято осуществлять с использованием
процедурного интерфейса, то есть с помощью специальных интерфейсных
модулей. При создании интерфейсного модуля (модуля импорта)
рекомендуется следующая последовательность действий:
• открыть файл проекта, в котором надо организовать вызов процедур или
функций из динамической библиотеки;
• создать модуль импорта. Для этого выполнить команду File|New и в
открывшемся окне выбрать Unit. В файле проекта в разделе Uses
появится ссылка на созданный модуль;
• в секцию interface модуля импорта внести описания, указывающие
компилятору формат вызова процедур и функций;
• сохранить модуль импорта в файле.
Примеры 2 и 3 поясняют работу с библиотекой Beeper, содержащей
единственную процедуру BeepMe. При вызове этой процедуры компьютер
подаёт звуковой сигнал. В примере 2 используется статический импорт без
интерфейсного модуля.
В примере 3 приведён интерфейсный модуль SoundUnit, в котором
определены три разных варианта вызова процедуры BeepMe из Beeper.dll: по
имени, по имени в библиотеке и по номеру. Кроме того, показано, что в
приложении процедуре можно давать другое имя (BeepMeTwo, BeepMeThree).
Динамический импорт
Для организации динамического импорта надо программно задать
действия, которые при статическом импорте выполняет загрузчик DLL.
Действия выполняются через функции Windows в следующем порядке:
• загрузка DLL в память;
• получение адресов точек входа в процедуры и функции DLL;
• использование адресов для вызова процедур и функций;
• освобождение библиотеки.
158
Страницы
- « первая
- ‹ предыдущая
- …
- 156
- 157
- 158
- 159
- 160
- …
- следующая ›
- последняя »
