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