Thema: Delphi Free oder FreeAndNil=

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

Re: Free oder FreeAndNil=

  Alt 27. Aug 2009, 11:50
Jaaaa, also wenn man den Code genauso nimmt, wie er dort steht, dann knallt es natürlich

ich glaub es war auch mehr so gemeint
Delphi-Quellcode:
object.Free;
if Assigned(object) -> liefert Müll
Delphi-Quellcode:
FreeAndNIL(object);
if Assigned(object) -> liefert immer False (weil object NIL ist)
[edit]
genau @Hawkeye219

@taaktaak:
doch doch
Delphi-Quellcode:
procedure TObject.Free;
begin
  if Self <> nil then
    Destroy;
end;

procedure FreeAndNil(var Obj);
var
  Temp: TObject;
begin
  Temp := TObject(Obj);
  Pointer(Obj) := nil;
  Temp.Free;
end;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat