Thema: Delphi Probleme mit FreeandNil

Einzelnen Beitrag anzeigen

Muetze1
(Gast)

n/a Beiträge
 
#6

Re: Probleme mit FreeandNil

  Alt 7. Feb 2008, 11:57
Zitat von Sidorion:
@FreeAndNil: Probier doch mal anstelle FreeAndNil(Obj); lieber Obj.Free; Obj:=Nil; zu schreiben.
FreeAndNil heisst nämlich falsch. Es müsste NilAndFree heissen, weil innerhalb dieser funktion wird das übergebene Objekt erst gemerkt, dann der übergebene Zeiger genilt und danach erst das Objekt freigegeben. Hat bei mir in der Firma schon zu langen debugorgien geführt.
Und was sollte das für einen Unterschied machen? Hintergrund ist einfach nur, dass die Variable definitv auf NIL gesetzt wird, auch wenn der Destructor Aufruf eine Exception hervor bringt. Der Code ist in der Implementierung einer Sicherheitsfrage geschuldet, aber ich erkenne keinen Grund, warum dies in "Debugorgien" enden sollte bzw. was daran falsch sein sollte...
  Mit Zitat antworten Zitat