![]() |
AW: MDI Fenster schließt nicht richtig
Zitat:
Und wenn man sich die Instanz nicht irgendwo speichert, dann hat man u.U. ein schönes Speicherleck. :) Habe allerdings keine Ahnung, wie das MDI technisch vom System verwaltet wird. Aber bei anderen Objekte wäre das der Fall. |
AW: MDI Fenster schließt nicht richtig
MDI kümmert sich nur um die visuelle Darstellung (Parent usw.)
die Freigabe wird wie bei jeder anderen TForm behandelt, bzw. wie bei TComponent allgemein. Zitat:
Delphi-Quellcode:
OK, das geht aber dann doch eher Free statt Close oder halt mit 2 Forms leben.
MyForm.Close;
Application.ProcessMessages MyForm := TMyForm.Create(Self); ...
Delphi-Quellcode:
Free hat aber ein "Problem", denn z.B. ein eventuell vorhandenes Event an OnCloseQuery wird nicht ausgeführt. (Free ist sofortiges Schließen ohne Rückfrage, samt Freigabe)
MyForm.Free;
Application.ProcessMessages MyForm := TMyForm.Create(Self); ... Aber warum eine Instanz des selben Form freigeben und eine neue Instanz erstellen, anstatt die bestehende Instanz wiederzuverwenden? |
AW: MDI Fenster schließt nicht richtig
Zitat:
|
AW: MDI Fenster schließt nicht richtig
Mit unsauber meine ich...
Wenn Programmierer X den Namen der Form ändern muss, weis er nicht, dass es hier im Code oder an andererer Stelle eine Sonderlocke gibt. In meinen Augen sehr gefährlich. |
AW: MDI Fenster schließt nicht richtig
@Himitsu:
Das Free wird in diesem Fall im OnClose aufgerufen. Das CloseQuery muss dann schon abgearbeitet sein. Passt also in diesem Fall noch. @Eppos: Welche Sonderlocke ist denn gefährlicher: - Ein Free in einem Close-Event, welches eigentlich sowieso automatisch durchgeführt wird? - Oder das Setzen einer Caption, was ein rein optischer Effekt ist? |
AW: MDI Fenster schließt nicht richtig
@Jasocul
Als Sonderlocke meine ich das setzen der Caption, weil wir darüber weitere Funktionalitäten abbilden wie z.B. -Formsettings -Usersettings -Sprachdaten etc... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:27 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-2025 by Thomas Breitkreuz