Code:

library Form;

uses

Classes,

Unit1 in 'Unit1.pas' {Form1};

exports

CreateMyForm,

DestroyMyForm;

end.

 

Это его Unit1:

 

Code:

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-шника:

 

Code:

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.

 

 

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

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

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

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