Interfaces auf TComponent sollten daher immer nur nurzfristig verwendet und dann freigegeben (NIL gesetzt, bzw. Variable läuft aus dem Scope)
Heisst das, das dann doch jemand die Interface-Zeiger automatisch bei verlassen des Scopes abräumt?
Wenn ich das in einer Klassenvariablen speichere, verliert es doch seinen Scope erst dann, wenn die Klasse abgeräumt wird, oder?
Gibt es eigentlich einen Unterschied (im Ergebnis-Zeiger) bei den folgenden Methoden, die Variable
myIf zu setzen (Voraussetzung ist natürlich, dass
MyClassInst das Interface implmentiert)?
Delphi-Quellcode:
var myIf : IMyInterface;
myIf := MyClassInst as IMyInterface;
myIf := IMyInterface( MyClassInst );
Supports( MyClassInst, IMyInterface, myIf );