Как создавать и использовать библиотеки DLL в Delphi

Dynamic Link Library (DLL) - это набор подпрограмм (небольших программ), которые могут быть вызваны приложения и другие библиотеки DLL. Как и модули, они содержат код или ресурсы, которые могут быть разделены между несколькими Приложения.

Концепция DLL - это ядро ​​архитектурного проекта Windows, и по большей части Windows - это просто набор DLL.

С Delphi вы можете писать и использовать свои собственные библиотеки DLL и даже вызывать функции независимо от того, были ли они разработаны с другими системами или разработчиками, такими как Visual Basic, или C / C ++.

Создание библиотеки динамических ссылок

Следующие несколько строк покажут, как создать простую DLL с помощью Delphi.

Для начала запустите Delphi и перейдите к Файл> Создать> DLL создать новый шаблон DLL. Выберите текст по умолчанию и замените его следующим:

библиотека TestLibrary;

использования SysUtils, Классы, Диалоги;

процедура DllMessage; экспорт;начать

 ShowMessage («Привет, мир из DLL-библиотеки Delphi»);

конец;

экспорт DllMessage;

beginend. 

instagram viewer

Если вы посмотрите на файл проекта любого приложения Delphi, вы увидите, что оно начинается с зарезервированного слова программа. В отличие от DLL всегда начинаются с библиотека а затем использования оговорка для любых подразделений. В этом примере DllMessage следует процедура, которая ничего не делает, но показывает простое сообщение.

В конце исходного кода есть экспорт оператор, который перечисляет подпрограммы, которые фактически экспортируются из DLL таким образом, что они могут быть вызваны другим приложением. Это означает, что вы можете иметь, скажем, пять процедур в DLL и только две из них (перечислены в экспорт section) может вызываться из внешней программы (остальные три являются «подпроцедурами»).

Чтобы использовать эту DLL, мы должны скомпилировать ее, нажав Ctrl + F9. Это должно создать DLL с именем SimpleMessageDLL.DLL в папке ваших проектов.

Наконец, давайте посмотрим, как вызывать процедуру DllMessage из статически загруженной DLL.

Чтобы импортировать процедуру, содержащуюся в DLL, вы можете использовать ключевое слово внешний в декларации процедуры. Например, с учетом процедуры DllMessage, показанной выше, объявление в вызывающем приложении будет выглядеть так:

процедура DllMessage; внешний 'SimpleMessageDLL.dll' 

Фактический вызов процедуры не более чем:

 DllMessage; 

Весь код для формы Delphi (имя: Form1), с TButton (названным Button1), который вызывает функцию DLLMessage, выглядит примерно так:

единица измерения Раздел 1;

интерфейс


использования

 Windows, сообщения, SysUtils, варианты, классы,

 Графика, элементы управления, формы, диалоги, StdCtrls;


тип

 TForm1 = класс (TForm)

 Кнопка 1: TButton;

процедура Button1Click (Отправитель: TObject);частный{Частные объявления}общественности{Публичные декларации}конец;

вар

 Форма 1: TForm1;


процедура DllMessage; внешний 'SimpleMessageDLL.dll'

реализация


{$ R * .dfm}


процедура TForm1.Button1Click (Отправитель: TObject);начать

 DllMessage;

конец;

конец. 

instagram story viewer