Содержание материала

Теперь следует создать новую форму. Это можно сделать по-разному.

Например, выбрав пункт меню File|New Form. Добавьте на форму какие-нибудь компоненты.

Назовем форму DllForm и сохраним получившийся модуль под именем DllFormUnit.pas .

 

Вернемся к главному модулю проекта и поместим в него функцию ShowForm, в задачу которой будет входить

создание формы и ее вывод на экран. Используйте для этого приведенный ниже код.

Code:

function ShowForm : Integer; stdcall;

var

Form : TDLLForm;

begin

Form := TDLLForm.Create(Application);

Result := Form.ShowModal;

Form.Free;

end;

  

Обращаю внимание, что для того, чтобы проект был скомпилирован без ошибок, необходимо добавить в секцию uses модуль Forms .

 Экспортируем нашу функцию с использованием ключевого слова exports :

 

exports

ShowForm;

 

Компилируем проект и получаем файл dllforms.dll. Эти простые шаги - все,

что необходимо сделать для сОбратите внимание, что функция ShowForm объявлена с использованием ключевого слова stdcall .

Оно сигнализирует компилятору использовать при экспорте функции соглашение

по стандартному вызову (standard call calling convention). Экспорт функции таким образом создает

возможность использования разработанной DLL не только в приложениях, созданных в Delphi.

 

Соглашение по вызову (Calling conventions) определяет, каким образом передаются аргументы при вызове функции.

Существует пять основных соглашений: stdcall, cdecl, pascal, register и safecall.

Подробнее об этом можно узнать, посмотрев раздел " Calling Conventions " в файле помощи Delphi.

 

Также обратите внимание, что значение, возвращаемое функцией ShowForm ,

соответствует значению ShowModal. Таким образом вы можете передавать некоторую информацию

о состоянии формы вызывающему приложению.

 

Ниже представлено два листинга, первый из которых содержит полный код файла

проекта DLL (модуль с формой здесь не приводится), а второй - модуль вызывающего приложения,

в котором используется только что разработанная нами библиотека.

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить