Einzelnen Beitrag anzeigen

Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.840 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

Re: EAccessViolation bei Free()

  Alt 3. Dez 2004, 11:53
Zitat von hitzi:
Eine letzte Frage dazu. fPim.Free und fPim := nil funktionieren ja - wieso funktioniert FreeAndNil(fPim) nicht? Bei FreeAndNil wird nicht! die Procedure TMobilePIM.Free aufgerufen.
Das sollte eigentlich funktionieren.

FreeAndNil ist in der SysUtils enthalten und hat folgenden Quelltext:
Delphi-Quellcode:
...
{ Copyright (c) 1995-2002 Borland Softwrare Corporation                   }
...
unit SysUtils;
...
procedure FreeAndNil(var Obj);
var
  Temp: TObject;
begin
  Temp := TObject(Obj);
  Pointer(Obj) := nil;
  Temp.Free;
end;
...
Es wird also die Free Methode des Objektes aufgerufen.
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat