Vorab: kann sein, das ich hier voll am Thema vorbeischlitter.
Ich mache es mit Formularen, die ich öfter benötige so:
Code:
type
TMyComponentForm = Class(TPersistent)
private
FFenster : TMySpecialForm;
public
Constructor Create(AOwner : TComponent); override;
Destructor Destroy; override;
procedure Show;
function ShowModal : TModalResult;
[color=red]procedure Hide;[/color]
end;
procedure Register;
implementation
uses U_MySpecialForm; //
Unit des Forms
procedure Register;
begin
RegisterComponents('LS StandardForms', [TMyComponentForm]);
end;
Constructor TMyComponentForm.Create(AOwner:TComponent);
begin
inherited Create(AOwner);
FFenster := TMySpecialForm.Create(self);
end;
procedure TMyComponentForm.Show;
begin
FFenster.Show;
end;
function [color=red]TMyComponentForm.[/color]ShowModal : TModalResult;
begin
Result := FFenster.ShowModal;
end;
[color=red]procedure TMyComponentForm.Hide;
begin
FFenster.Hide;
end;[/color]
Destructor TMyComponentForm.Destroy;
begin
FreeAndNil(FFenster);
inherited;
end;
Das ergibt mit wenig Arbeit eine Komponente, die ich auf meinem MainForm plaziere, und die das Form auf jeden Fall beim Beenden der Application wieder freigibt.
War sowas gesucht?
Gruß
(
Rot = Edit)