1.3 Экспорт функций из DLL
Как уже говорилось выше, для экспорта процедур и функций из DLL, необходимо использовать ключевое слово export. Еще раз обратите внимание на представленный выше листинг библиотеки MiFirstDll. Поскольку процедура HelloWorld определена как экспортируемая, то она может быть вызвана на выполнение из других библиотек или приложений. Существуют следующие способы экспорта процедур и функций: экспорт по имени и экспорт по порядковому номеру.
Наиболее распространенный способ экспорта - по имени. Взглянем на приведенный ниже текст:
exports
SayHello,
DoSomething,
DoSomethingReallyCool;
Следует обратить внимание на то, что Delphi автоматически назначает порядковый номер каждой экспортируемой функции (процедуре) независимо от того, определяете вы его явно или нет. Явное определение индекса позволяет вам лично управлять порядковым номером экспортируемой функции или процедуры. Для того, чтобы определить выполняется ли ваш кодек в DLL или в вызывающем приложении, можно воспользоваться глобальной переменной IsLibrary. Она принимает значение true в том случае, если код вызывается из библиотеки и false в случае выполнения процедуры или функции из вызывающего приложения. Кроме этого, в поставку Delphi входит весьма полезная утилита tdump, которая предоставляет данные о том, какая информация экспортируется из указанной DLL.
- Введение
- Глава 1. Разработка динамически подключаемых библиотек DLL
- 1.1 Аргументы в пользу использования DLL
- 1.2 Основы разработки DLL
- 1.3 Экспорт функций из DLL
- 1.4 Использование DLLProc
- 1.5 Вызов процедур и функций, загруженных из DLL
- Глава 2. Разработка программы
- 2.1 Постановка задачи
- 2.2 Описание механизма программы
- 2.3 Блок схемы
- 2.4 Структуры данных
- 2.5 Системные требования
- Заключение
- 1.Назначение динамически подключаемых библиотек
- 15. Понятие динамически подключаемой библиотеки. Структура dll-библиотеки. Создание dll-библиотеки. Использование dll-библиотеки в программе. Статический и динамический импорт.
- Лабораторная работа 34. Использование динамически подключаемых библиотек (DLL).
- Динамически подключаемые библиотеки (dll)
- 3 Динамически подключаемые библиотеки.
- 11. Динамически подключаемые библиотеки (dll). Явная и неявная загрузка dll.
- 2.5.5.4. Динамически подключаемые библиотеки
- 2.4. Динамически подключаемые библиотеки.
- Разработка библиотек dll