Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#12

AW: MDI Fenster schließt nicht richtig

  Alt 20. Okt 2016, 12:23
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.

Beim erfolgreichem Form1.Close mit Action = caFree, wird das Form1.Free nur nicht sofort ausgeführt (wie Uwe Raabe bereits angedeutet hat). Die Queue braucht da halt ein bisschen Zeit.
Delphi-Quellcode:
MyForm.Close;
Application.ProcessMessages
MyForm := TMyForm.Create(Self);
...
OK, das geht aber dann doch eher Free statt Close oder halt mit 2 Forms leben.
Delphi-Quellcode:
MyForm.Free;
Application.ProcessMessages
MyForm := TMyForm.Create(Self);
...
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)

Aber warum eine Instanz des selben Form freigeben und eine neue Instanz erstellen, anstatt die bestehende Instanz wiederzuverwenden?
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat