Разработка приложений в системе Delphi. Шейкер Т.Д. - 154 стр.

UptoLike

Составители: 

В случае динамического импорта при вызове LoadLibrary можно указать
для DLL полный путь, тогда
Windows просмотрит только заданный каталог.
При статическом импорте такой возможности нет.
Основной недостаток DLL – это отсутствие проверки типов. Обращаясь к
функции, фактически даём указание компилятору вызвать функцию, о которой
он ничего не знает. Если будет указано неверное количество параметров или
параметры будут неверных типов, то вызов функции может привести к
непредсказуемым последствиям. Найти подобную ошибку очень сложно.
Изучение DLL предусматривает рассмотрение двух вопросов: создание
библиотеки и её использование.
Структура DLL
По своей сути DLL похожи на модули, но их код больше напоминает
программы. По функциональному назначению и модуль и DLL представляют
собой библиотеки подпрограмм, но организованы они по-разному.
Динамические библиотекиэто особая разновидность программ,
предоставляющих код или данные другим программам. DLL имеет
обязательный заголовок, который начинается со служебного слова
library.
Процедуры и функции записываются так же, как принято в программах, но
их необходимо явным образом экспортировать, чтобы они стали доступны
другим программам или динамическим библиотекам. Для этого вводится
секция
exports, в которой перечисляются экспортируемые библиотекой
процедуры и функции. В качестве разделителя при перечислении используется
запятая, завершается секция
exports точкой с запятой. В DLL может быть
несколько секций
exports. Обязательно включается секция инициализации,
которая, однако, может быть пустой. Шаблон DLL приведён ниже.
library MyDll;
uses //Перечень подключаемых модулей
{Опис
exports //Перечень экспортируемых процедур и функций
ания процедур и функций}
begin
{Секция инициализации}
end.
154
   В случае динамического импорта при вызове LoadLibrary можно указать
для DLL полный путь, тогда Windows просмотрит только заданный каталог.
При статическом импорте такой возможности нет.
   Основной недостаток DLL – это отсутствие проверки типов. Обращаясь к
функции, фактически даём указание компилятору вызвать функцию, о которой
он ничего не знает. Если будет указано неверное количество параметров или
параметры будут неверных типов, то вызов функции может привести к
непредсказуемым последствиям. Найти подобную ошибку очень сложно.
   Изучение DLL предусматривает рассмотрение двух вопросов: создание
библиотеки и её использование.

Структура DLL
   По своей сути DLL похожи на модули, но их код больше напоминает
программы. По функциональному назначению и модуль и DLL представляют
собой   библиотеки     подпрограмм,        но     организованы   они     по-разному.
Динамические    библиотеки       –   это        особая   разновидность    программ,
предоставляющих      код   или   данные         другим   программам.     DLL   имеет
обязательный заголовок, который начинается со служебного слова library.
   Процедуры и функции записываются так же, как принято в программах, но
их необходимо явным образом экспортировать, чтобы они стали доступны
другим программам или динамическим библиотекам. Для этого вводится
секция exports, в которой перечисляются экспортируемые библиотекой
процедуры и функции. В качестве разделителя при перечислении используется
запятая, завершается секция exports точкой с запятой. В DLL может быть
несколько секций exports. Обязательно включается секция инициализации,
которая, однако, может быть пустой. Шаблон DLL приведён ниже.
library MyDll;
uses      //Перечень подключаемых модулей
  {Описания процедур и функций}
exports    //Перечень экспортируемых процедур и функций
begin
  {Секция инициализации}
end.


                                       154