Zitat von
Corpsman:
Ich schreibe in meinen Code nach der Verwendung einer Klasse sogar immer noch Extra dsa setzen auf NIL, schaden tut das nicht.
Doch, der Übersichtlichkeit. Jemand, der deinen Code liest, fragt sich doch: Warum macht er das?
Wenn schon, verwende
FreeAndNil. Macht das Gleiche, ist auch überflüssig, aber inzwischen Usus unter Delphi-Programmierern.
Zur eigentlichen Frage: Also wenn deine SW nur(!) zum Programmende Speicher nicht freigibt (Siehe
Indy), dann ist das kein Problem, hat aber einen kleinen Haken:
Wenn ich Delphi-Programme hinsichtlich Speicherlecks mit FastMM prüfe, dann bin ich erst dann zufrieden, wenn das Fehlerlog leer ist, bzw. die üblichen
VCL-Macken zeigt. Da stört dann ein redundantes Freigeben einfach. Schlimm, wenn diese Struktur eine Liste mit Mio Einträgen ist (ein Cache z.B.). Das müllt mir das FastMM-Log zu. Da geb ich das doch eben frei und kann weitermachen.
Ich frage mich aber, wie Du sicherstellst, das dein Programm sonst keine Speicherlecks erzeugt? Glotzt du nur auf den Taskmanager?