Разработка библиотеки
Структура библиотеки
По структуре исходный текст библиотеки похож на исходный текст программы, за исключением того, что текст библиотеки начинается с ключевого слова library, например:
Library SortLib;
Uses SysUtils, Classes, Forms, Windows;
procedure HelloWorld(AForm : TForm);
Begin
MessageBox(AForm.Handle, 'Hello world!',
'DLL Message Box', MB_OK or MB_ICONEXCLAMATION);
End;
procedure BubleSort(var Arr: array of Integer);
var I, J, T: Integer;
Begin
for I := Low(Arr) to High(Arr) - 1 do
for J := I + 1 to High(Arr) do
if Arr[I] > Arr[J] then
Begin
T := Arr[I];
Arr[I] := Arr[J];
Arr[J] := T;
End;
End;
Exports
BubleSort,
HelloWorld;
Begin
End.
Первое, на что следует обратить внимание, это ключевое слово library, находящееся вверху страницы. Library определяет этот модуль как модуль библиотеки DLL. Далее идет название библиотеки. В нашем примере мы имеем дело с динамической библиотекой, содержащей две процедуры: HelloWorld и BubleSort. Причем данные процедуры по структуре ничем не отличается от тех, которые вы помещаете в модули своих приложений. Процедуры и функции - это главное, что должно быть в динамически загружаемой библиотеке, поскольку лишь они могут быть экспортированы.
Если в теле библиотеки объявлены некоторые процедуры, то это еще не значит, что они автоматически станут доступны для вызова извне. Для того чтобы это разрешить, нужно поместить имена процедур в специальную секцию exports.
Дата добавления: 2015-09-07; просмотров: 1007;