Подключение dll на этапе загрузки
Для автоматического подключения функций DLL они объявляются в использующей программе как внешние при помощи директивы external. Параметры, естественно, должны быть описаны тоже. Например, если рассматриваемая в предыдущем разделе DLL скомпилирована в TESTLIB.DLL, а три процедуры, упомянутые в export имеют соответственно один, два и три целых 32-разрядных параметра и модель вызова StdCall, то они могут импортироваться следующим образом:
const testlib='testlib.dll'; procedure FirstProc(a:integer); external testlib index 10; stdcall; procedure SecondProc(a,b:integer); external testlib name 'ProcedureTwo'; stdcall; procedure PROC3(a,b,c:integer); external testlib; stdcall;
Третья процедура в этом случае должна называться точно так же, как и в библиотеке, так как для связывания будет использовано имя 'PROC3'.
После такого объявления и загрузки программы будет автоматически загружена библиотека TESTLIB.DLL, и при вызове в программе функций FirstProc, SecondProc и PROC3 будут вызываться соответствующие функции DLL.
Часто при создании DLL удобно сразу описать отдельный интерфейсный модуль (Unit) для импорта ее функций, а затем просто подключать такой модуль к использующей программе в фразе uses. Примером такого интерфейсного модуля является модуль WINDOWS, используемый во всех программах Delphi для доступа к функциям API.
При невозможности подключить библиотеку на этапе загрузки использующая ее программа не запускается.
- Подключение файлов ресурсов к программе
- Ресурсы пользователя
- Inactive - пункт неактивен (не генерирует wm_command), но отображается обычным образом, несовместимо с grayed.
- Основные сообщения меню
- Использование таблицы акселераторов
- Окна диалога
- Библиотеки dll
- Синтаксис исходного текста dll
- Поиск используемых dll
- Подключение dll на этапе загрузки
- Подключение dll на этапе выполнения
- Использование ресурсов из dll
- Задание
- Варианты заданий: