Forum: Programmieren allgemein
Delphi
by Jasocul,
20. Okt 2016
@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?
Forum: Programmieren allgemein
Delphi
by Jasocul,
20. Okt 2016
Ist in diesem Fall kein Problem, da beim Schließen der Form ja dafür gesorgt wird, dass der Speicher freigegeben wird.
Forum: Programmieren allgemein
Delphi
by Jasocul,
20. Okt 2016
Mir fällt keiner in den Rücken :wink:
Das ist nicht unsauber.
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.
Im Grunde läuft das intern doch ganz anders ab:
Form1 ist nur irgendeine Instanz-Variable.
Die alte Form, die mit Close geschlossen wurde...
Forum: Programmieren allgemein
Delphi
by Jasocul,
20. Okt 2016
Dann ergänze deinen Code doch:
Form1 := TForm1.Create(self);
Form1.FormStyle := fsNormal;
Form1.Visible := False;
Form1.Caption := 'Form1'; // Diese Zeile einbauen
Form1.ShowModal;
Forum: Programmieren allgemein
Delphi
by Jasocul,
19. Okt 2016
Meinst du das?
Form1.Caption := 'Form1';