Registriert seit: 12. Jun 2002
3.483 Beiträge
Delphi 10.1 Berlin Professional
|
Re: Finalize
10. Aug 2006, 23:09
Finalize gibt nur Speicher für Referenz-Datentypen frei, nicht jedoch den mit New() alloziierten Speicher. Für jedes ausgeführt New muss auch ein entsprechendes Dispose vorhanden sein.
Finalize braucht man explizit nur, wenn man einen Record mittels GetMem alloziiert hat und ihn nun mit FreeMem freigibt. Vor dem FreeMem muss dann das Finalize(p^) stehen. Und auch nur dann, wenn im Record Referenz-Datentypen enthalten sind. Aber das sagt einem der Compiler dann schon: "Hinweis: Datentyp benötigt kein Finalize".
|