Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
Delphi 12 Athens
|
AW: Webinar FreeAndNil
1. Jul 2022, 13:29
FreeAndNil hat doch kein Try-Finally drin?
Drum macht es ja eigentlich NilAndFree, im sich das Try-Finally zu sparen.
Einzig, wo es im FreeAndNil Probleme geben könnte, wenn im Destructor oder etwas darin Aufgerufenem oder anderem Freigegeben irgendwo auf diese (globale) Variable zugegriffen würde.
z.B. im OnDestroy der Form auf die Form-Variable, anstatt auf Self.
Hier ist die Variable ja schon vorher NIL und es würde dann knallen.
Genau aus dem Grund setzt Application.FormCreate schon vor dem Constructor/OnCreate die Variable, falls jemand beim Laden auf diese Variable zugreift.
und automatisch werden die FormVariablen nicht genilt, weswegen es dann beim Freigeben auch nicht mehr knallt.
$2B or not $2B
|