Помещение формы в DLL

Советы » DLL » Помещение формы в DLL

Вы можете помещать простые формы в DLL на этапе разработки. Это можно сделать с формами, полностью готовыми к работе и не требующими доработки. Вот пример DLL, которая создает, отображает и освобождает форму. В примере была взята экстра-простая форма для того, чтобы показать, что она может быть использована любым языком, не только в Delphi. Как я и обещал, я преподнес вам идею. Гвоздь программы в том, что пока вы проектируете свое приложение, форма из вашей DLL в Delphi *не* загружается. Только не забудьте в конце разработки ее скомпилить :-)) .

Имейте в виду, что все функции в DLL-примере 32-битные. Т.е. после получения с помощью CreateTheForm указателя на форму, необходимые функции получат в свои руки полное 32-битное управление формой. Вероятно вам это и не понадобится, но это пример того, КАК нужно делать...

library

Formdll; uses

SysUtils, Forms, Formdllu in

'FORMDLLU.PAS' {Form1}; function

CreateTheForm: Pointer; export; begin

Result := TForm1.Create(nil

); end

; procedure

LoadTheForm(P: Pointer; S1, S2, S3: PChar); export; begin

with

TForm1(P) do

begin

Edit1.Text := StrPas(S1); Edit2.Text := StrPas(S2); Edit3.Text := StrPas(S3); end

; end

; function

ShowTheForm(P: Pointer): Boolean; export; const

mrOK = 1; begin

Result := TForm1(P).ShowModal = mrOK; end

; procedure

ReadTheForm(P: Pointer; S1, S2, S3: PChar); export; begin

with

TForm1(P) do

begin

StrPCopy(S1, Edit1.Text); StrPCopy(S2, Edit2.Text); StrPCopy(S3, Edit3.Text); end

; end

; procedure

DestroyTheForm(P: Pointer); export; begin

TForm1(P).Free; end

; exports

CreateTheForm INDEX

1, LoadTheForm INDEX

2, ReadTheForm INDEX

3, ShowTheForm INDEX

4, DestroyTheForm INDEX

5; begin

end

.

Другое по теме:

Категории

Статьи

Советы

Copyright © 2022 - All Rights Reserved - www.delphirus.com