Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Speicherfreigen nach TForm2 Aufruf (https://www.delphipraxis.net/73050-speicherfreigen-nach-tform2-aufruf.html)

madina 11. Jul 2006 15:55


Speicherfreigen nach TForm2 Aufruf
 
Hallo,

ich rufe einen 2ten Fenster modal vom TForm1-Hauptfenster auf und schließe den 2ten Fenster mit close.

Frage: wie kann ich einen 2ten Fenster schließen, daß der 2te Fenster richtig Speichermäßig auch freigegen wird und aus dem Speicher gelöscht wird, macht dies der Close-Befehl nicht ?

mfg

Sharky 11. Jul 2006 15:57

Re: Speicherfreigen nach TForm2 Aufruf
 
Hai madina,

schaue Dir mal das OnClose Ereigniss der Form an (oder war es OnCloseQuery) dort kannst Du über action angeben ob die Instanz freigegeben werden soll.

sh17 11. Jul 2006 16:11

Re: Speicherfreigen nach TForm2 Aufruf
 
Im OnClose die Variable Action auf caFree setzen

Martin K 11. Jul 2006 16:13

Re: Speicherfreigen nach TForm2 Aufruf
 
Ich würde es so machen:
Delphi-Quellcode:
  Form2 := TForm2.Create(Self);
  try
    Form2.ShowModal;
  finally
    FreeAndNil(Form2);
  end;

sh17 11. Jul 2006 16:20

Re: Speicherfreigen nach TForm2 Aufruf
 
Statt Free würde ich Release empfehlen, um alle offenen Ereignisse an das Form abarbeiten zu lassen

Delphi-Quellcode:
  Form2 := TForm2.Create(Self);
  try
    Form2.ShowModal;
  finally
    Form2.Release;
    Form2 := nil;
  end;
Wobei Form2 := nil keine Sinn ergibt, wenn Form2 lokal deklariert ist.

robinWie 11. Jul 2006 22:39

Re: Speicherfreigen nach TForm2 Aufruf
 
[OT]
Interessant ist es wenn man nur eine Form hat und OnClose so schreibt:

Delphi-Quellcode:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
    Action := caNone;
end;
Dann passiert, wenn man auch das rote X klickt, gar nix :stupid:
[/OT]


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz