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. |
Новые статьи
- Необходимо, чтобы дочерняя форма не активизировала родительское окно
- В каком порядке происходят события при создании и показе окна?
- Можно ли создать форму, которая получает дополнительные параметры в методе Сreate?
- Как сделать окно системно-модальным?
- Можно ли динамически менять какая форма считается главной в приложении во время работы программы?
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!