Создание и использование DLL в Delphi |
![]() |
![]() |
Статьи |
Динамическая библиотека, или DLL, является совокупностью подпрограмм (маленьких программ), которые могут вызываться приложениями или другими DLL. Подобно модулям, DLL содержит общий код или ресурсы, которые могут использовать несколько приложений одновременно из одного экземпляра DLL. В сущности Windows - это просто совокупность DLL. Естественно, используя Delphi, мы можем тоже написать и использовать наши собственные DLL и можем вызывать функции в DLL, разработанном другими разработчиками и на других системах (типа Visual Basic или C/C++). Создание динамической библиотекиСледующие несколько строк демонстрируют, как создать простой DLL, используя Delphi. Начинающим Дельфистам нужно из меню выбрать File | New... DLL. Это создаст шаблон нового DLL в окне редактора. Выделите заданный по умолчанию текст и замените его следующим кодом:
Если Вы посмотрите на файл проекта любого приложения Delphi, Вы увидите, что он начинается с зарезервированного слова Program. DLL в отличие от этого, начинается с зарезервированного слова Library. Затем это сопровождается пунктом uses для любых необходимых модулей. В этом простом примере за этим следует процедура по имени DllMessage, которая не делает ничего, кроме показа простого сообщения. В конце этого текста, стоит инструкция exports. Здесь включен список подпрограмм, которые будут экспортированы из DLL и могут вызываться другими приложениями. Это означает, что, например, в DLL находится 5 процедур и только 2 из них (перечисленных в разделе exports) могут вызываться из внешних программ (3 из них подпрограммы в DLL). Чтобы использовать этот простой DLL, мы должны скомпилировать его, нажав Ctrl+F9. Это создасть DLL по имени SimpleMessageDll.dll в папке проекта. А теперь давайте посмотрим, как вызвать процедуру DllMessage из (статически загруженной) DLL. Чтобы импортировать процедуру, содержащуюся в DLL, мы используем ключевое слово external в объявлении процедуры. Например, объявление процедуры DllMessage, показанной ранее, выглядела бы так:
А вызов процедуры выглядит так:
Полный код для формы Form1 с TButton по имени Button1 (для вызова функции DllMessage) выглядит так:
Это все! Все просто, как и все в Delphi! |
Комментарии
RSS лента комментариев этой записи