Zitat von
khh:
und wenn ich einen owner zuweise, wirds ja auch erst beim entfernen des owners mit entfernt, wennich das richtig sehe.
Das siehst Du richtig. Da du aber u.U. nicht verhindern kannst, dass das Form mehrmals erstellt wird musst Du es auch manuell freigeben.
Zitat von
khh:
und modalresult:= mrClose gibt den speicher frei ?
Latuernich nicht. Das Setzen des Modalresult kann und darf den Speicher nicht freigeben. Es beendet das modale Anzeigen des Fensters.
Normalerweise willst Du ja den Modalresult hinterher auswerten, wie willst Du das denn machen, wenn sich das Fenster bereits aus dem Speicher verabschiedet hat?
Delphi-Quellcode:
frm := tMyForm.create(NIL);
try
myvalue := frm.showmodal;
finally
frm.free;
end;
Zitat von
khh:
und modalresult:= mrClose gibt den speicher frei ?
mrClose gibts gar nicht :-(
Nimm halt mrOK oder irgendeinen anderen (von Null verschiedenen) Integerwert, wenn Du es nicht auswerten musst.