Forum: Object-Pascal / Delphi-Language
Delphi
by Christian Seehase,
8. Jan 2003
Moin Minz,
FreeAndNil macht nichts anderes als
die Methode Free für das übergebene Objekt aufzurufen, und anschliessend
die Variable := nil zu setzen
wäre also verwunderlich, wenn's nicht ginge ;-)
Forum: Object-Pascal / Delphi-Language
Delphi
by Christian Seehase,
8. Jan 2003
Moin Minz,
aus diesem Grunde gibt es, seit Delphi 5, die Prozdure FreeAndNil.
Mit der wird beides auf einmal gemacht. Das angegebene Objekt freigegeben und der Pointer auf nil gesetzt.
In Versionen vor D5 muss man den zweiten Teil selbst erledigen.
Forum: Object-Pascal / Delphi-Language
Delphi
by Christian Seehase,
8. Jan 2003
Moin Minz,
Du wirst kaum sicher feststellen können, ob ein Array Element wirklich auf ein Objekt zeigt.
Wenn Du das Objekt mit Free wieder zerstörst, bleibt die Ursprüngliche Adresse der Daten in der Variablen erhalten.
Nur wenn die Variable nil enthält, weisst Du sicher, dass sie nicht auf ein Objekt zeigt.
Ansonsten könnte sogar das ausprobieren einer Methode oder Abfragen einer...