![]() |
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 |
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. |
Re: Speicherfreigen nach TForm2 Aufruf
Im OnClose die Variable Action auf caFree setzen
|
Re: Speicherfreigen nach TForm2 Aufruf
Ich würde es so machen:
Delphi-Quellcode:
Form2 := TForm2.Create(Self);
try Form2.ShowModal; finally FreeAndNil(Form2); end; |
Re: Speicherfreigen nach TForm2 Aufruf
Statt Free würde ich Release empfehlen, um alle offenen Ereignisse an das Form abarbeiten zu lassen
Delphi-Quellcode:
Wobei Form2 := nil keine Sinn ergibt, wenn Form2 lokal deklariert ist.
Form2 := TForm2.Create(Self);
try Form2.ShowModal; finally Form2.Release; Form2 := nil; end; |
Re: Speicherfreigen nach TForm2 Aufruf
[OT]
Interessant ist es wenn man nur eine Form hat und OnClose so schreibt:
Delphi-Quellcode:
Dann passiert, wenn man auch das rote X klickt, gar nix :stupid:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin Action := caNone; end; [/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