Приведенный ниже код демонстрирует это.
Code: |
procedure TForm1.DynamicLoadBtnClick(Sender: TObject); type THelloWorld = procedure(AForm : TForm); var DLLInstance : THandle; HelloWorld : THelloWorld; begin DLLInstance := LoadLibrary('myfirstdll.dll'); if DLLInstance = 0 then begin MessageDlg('Невозможно загрузить DLL', mtError, [mbOK], 0); Exit; end; @HelloWorld := GetProcAddress(DLLInstance, 'HelloWorld'); if @HelloWorld nil then HelloWorld (Self) else MessageDlg('Не найдена искомая процедура!.', mtError, [mbOK], 0); FreeLibrary(DLLInstance); end; |
В DLL можно хранить не только код, но и формы.
Причем создание и помещение форм в динамическую библиотеку не слишком сильно отличается от работы
с формами в обычном проекте. Сначала мы рассмотрим, каким образом можно написать библиотеку,
содержащую формы, а затем мы поговорим об использовании технологии MDI в DLL.
Разработку DLL, содержащую форму, я продемонстрирую на примере.
Итак, во-первых, создадим новый проект динамической библиотеки.
Для этого выберем пункт меню File|New, а затем дважды щелкнем на иконку DLL .
После этого вы увидите примерно следующий код:
Code: |
library Project2; {здесь были комментарии}
uses SysUtils, Classes;
{$R *.RES}
begin end. |
Сохраните полученный проект. Назовем его DllForms.dpr.
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!