Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#6

AW: Dispose, Free, FreeAndNil oder doch Destroy ?

  Alt 8. Okt 2024, 15:45
Destroy gibt immer frei,
aber es sollte "normal" eigentlich NIE direkt aufgerufen werden. (wäre schön, wenn es standardmäßig protected wäre)

Free gibt frei ... bei NIL knallt es aber nicht, da es einem if Assiged(obj) then obj.Destroy; entspricht.

FreeAndNil müsste eigentlich NilAndFree heißen,
denn es entspricht keinem
Delphi-Quellcode:
obj.Free;
obj := nil;
sondern einem
Delphi-Quellcode:
obj := nil;
obj.Free;

// ähhhh, ich meine natürlich

tmp := obj;
obj := nil;
tmp.Free;
Es setzt also immer die Variable auf NIL, selbst wenn es im Free/Destroy knallt.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 8. Okt 2024 um 15:52 Uhr)
  Mit Zitat antworten Zitat