Besser? Oder auch noch böse?
Delphi-Quellcode:
function ObjectExists(aObj: TObject): boolean;
begin
Result := aObj <> nil;
if Result then
try
Result := aObj.InheritsFrom(TObject);
except
Result := false;
end;
end;
Das Problem liegt doch darin begründet, dass diese Funktion nicht zuverlässig funktioniert.
Es ist reine Glückssache.
Wenn du einen Zufallsgenerator haben möchtest, ist das eine tolle Funktion.
Für die Überprüfung, ob an der Speicherstelle auf die die Referenz zeigt eine gültige Instanz vorliegt, taugt die nicht die Bohne.
Das Warum findet sich in den Beiträgen hier erläutert
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)