Как использовать форму из DLL

library Form;
uses
 Classes,
 Unit1 in 'Unit1.pas' {Form1};
exports
 CreateMyForm,
 DestroyMyForm;
end.
Это его Unit1:
unit Unit1;
interface
// раздел uses и определение класса Form1
 procedure CreateMyForm(AppHandle: THandle); stdcall;
 procedure DestroyMyForm; stdcall;
implementation
{$R *.DFM}
procedure CreateMyForm(AppHandle: THandle);
begin
 Application.Handle := AppHandle;
 Form1 := TForm1.Create(Application);
 Form1.Show
end;
procedure DestroyMyForm;
begin
 Form1.Free;
end;
end.

Это UnitCall вызывающего EXE-шника:

unit

 UnitCall;

interface

// раздел uses и определение класса Form1

 procedure CreateMyForm(AppHandle: THandle); stdcall; external 'Form.dll';

 procedure DestroyMyForm; stdcall; external 'Form.dll';

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);

begin

 CreateMyForm(Application.Handle);

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

 DestroyMyForm;

end;

end.


Взято с http://delphiworld.narod.ru

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...