Mit Interfaces brauchst du nicht mehr testen, denn die Instanz wird erst freigegeben, wenn du die Instanz vergessen hast.
Delphi-Quellcode:
var
foo, foo1, foo2: IFoo;
begin
foo := TFoo.Create;
foo1 := foo;
foo2 := foo;
foo := nil;
foo1 := nil;
foo2 := nil; // Hier erfolgt jetzt automatisch die Freigabe der Instanz
end;
Und wenn man nicht mehr weiß wonach man sucht, wie will man dann feststellen ob es noch existiert ...
ehm... mir es ist eigentlich klar, dass man bei
com Interfaces der Compiler da automatisch freigibt, wenn es nicht mehr im Scope ist. Nutze ich ehrlich gesagt sehr gerne.
Doch die eigentliche Frage ist ja, wie man mit Hilfe von Interfaces mitten im Programm überprüfen kann, ob das Objekt noch da ist und ohne dass man das mit dem Marker auf NIL setzt.
Mit dem NIL-Marker setzen hätte man ja kein Interface benötigt.