Hi.
Ein TForm.Close lässt eigentlich vermuten, dass das Objekt weg ist. Aber das ist es nicht immer, bzw. nicht sofort.
Delphi-Quellcode:
MyForm := TMyForm.Create(MainForm);
MyForm.Show;
...
...
MyForm.Close;
...
...
if MyForm <> NIL then
begin
ShowMessage('Bin verwirrt. Warum bist du nicht NIL???')
end;
Damit ich auf NIL prüfen kann musste ich noch das 'Close' ergänzen
Delphi-Quellcode:
MyForm.Close;
FreeAndNil(MyForm);
Meine Frage: Ist das nun gut oder schlecht. Wenn ein Objekt auf NIL gesetzt wird was ist dann mit dem Speicher. Räumt Delphi trotzdem auf oder hab ich ein Speicherleck??
Ein 'TForm.Close' macht einen 'Release'. Bisher dachte ich damit wäre alles aus dem Speicher raus. Jetzt musste ich mit Erstaunen feststellen, dass dem nicht so ist.