Thema: Delphi self.free

Einzelnen Beitrag anzeigen

Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#16

Re: self.free

  Alt 28. Okt 2005, 15:33
Das geht nur über Prüfung auf Zeiger=nil, was aber wiedrum nicht geht, da du bei der angestrebten Variante eben dies nicht machen kannst . Ein Zeiger zeigt wenn er nicht nil ist IMMER auf irgendwas. Im schlimmsten Fall halt auf "zufällige" Daten, oder in geschützte Segmente.
Eine Variante die mir einfiele wäre es der Prozedur "Rausschmeissen" die entsprechende Referenz nochmals als var-Parameter mit zu übergeben:
Delphi-Quellcode:
procedure TMyClass.Rausschmeissen(var p: TMyClass);
begin
  p := nil;
  self.Free;
end;
Damit wäre aber nur diese eine übergebene Referenz nil. Jede weitere auf dieses Objekt ist immernoch ungültig nachher.
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat