{---------------------dllunit.pas--------------------------}unit DLLUnit;
interfaceuses WinTypes;
function GetString: string; export;
implementationfunction GetString: string;
begin
GetString := 'Привет из DLL!' ;
end ;
beginend.
{-----------------------------------------------------------}
Here is the translation of the content into Russian:
DLLFRAME.DPR (основной "скелет" DLL)
библиотекаDllframe;usesWinTypes;functionGetString:string;export;beginResult:='Привет из DLL!';end;exportsGetString;beginend.
Это базовая библиотека Delphi, экспортирующая одиночную функцию GetString. Переменная Result в функции GetString присваивается строковое значение, которое будет возвращаться при вызове из внешнего программы.
Это базовая программа Delphi, использующая unit Dialogs для отображения сообщения. Функция GetString объявляется как внешняя процедура, что означает, что она вызывается из внешнего DLL (в этом случае, DLLFRAME.DLL). Когда GetString вызывается, она возвращает строковое значение, присвоенное в DLL.
unitDLLUnit;interfaceusesWinTypes;functionGetString:string;export;implementationfunctionGetString:string;beginGetstring:='Привет из DLL!';end;beginend.
Это базовая библиотека Delphi, содержащая функцию GetString, которая экспортируется из DLL.
Альтернативное решение с модулями
Вместо создания отдельного DPR-файла для программы-звонка можно создать новый unit (например, dllcall.pas) и использовать его в основной программе. Этоapproach более модульный и проще в обслуживании.
В этом примере dllcall.pas - новый unit, содержащий код вызова функции GetString. Основная программа просто использует этот unit и вызывает функцию GetString.
Заключение
Создание Delphi-DLL заключается в написании библиотеки (DLL) с экспортируемыми функциями и создании отдельной программы для вызова этих функций. В этом примере мы создали простой DLL, экспортирующий одиночную функцию GetString, которая вызывается из внешней программы с помощью ключевого слова external.
Напомните, что DLL нужно скомпилировать как динамическую связку (DLL) и зарегистрировать ее с помощью реестра Windows или инструментом regsvr32.exe. Затем вы можете вызвать DLL из основной программы с помощью ключевого слова external.
Статья описывает простой шаблон создания динамической библиотеки (DLL) в Delphi, включая примеры кода и шаги по созданию вызывающей программы.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.