Zitat von
Stevie:
Grundregel, wenn du nicht die Referenzzählung außer Kraft setzen oder anderweitig "austricksen" willst: niemals mit Objektreferenzen sondern immer mit Interfacereferenzen arbeiten, wenn dir die Referenzzählung keinen Strich durch die Rechnung machen soll
Gute Regeln können so einfach sein
Also statt
Delphi-Quellcode:
var
L: TInterfaceList;
X: TTest;
einfach bei den Typen öfter ein I statt eines T verwenden:
Delphi-Quellcode:
var
L: IInterfaceList;
X: IMyInterface;
Manche Bibliotheken funktionieren sogar besser, wenn für die Erzeugung von Instanzen Interface-Variablen benutzt werden.
Zum Beispiel kann es leicht zu
Access Violations geben, wenn man für eine dynamisch erzeugte TXMLDocument Instanz den Variablentyp IXMLDocument (statt TXMLDocument) benutzt. (siehe
http://edn.embarcadero.com/article/29241).
Cheers,