Einzelnen Beitrag anzeigen

Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#11

Re: prüfen, ob dyn. zur Runtime erzeugte Form Speicher freig

  Alt 26. Feb 2004, 02:54
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)
Tim Leuschner
Programmierer = moderner Sysiphos: stets wenn er meint, den Stein seiner Dummheit auf den Berg des Wissens gewuchtet zu haben, erblickt er einen völlig neuen Aspekt und der Dummfels poltert mit Getöse zurück ins Tal der Unwissenheit...
  Mit Zitat antworten Zitat