Einzelnen Beitrag anzeigen

Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Interfacelisten: Objekt wird bei remove freigegeben

  Alt 12. Aug 2009, 17:10
Die TInterfaceList ist eine Liste von Interfaces (soweit bist du wahrscheinlich schon gekommen ).
Beim .Add holt sie sich eine Referenz auf das übergebene Interface -> AddRef, Referenzzähler 1.
Beim .Remove verliert sie die Reference -> Release, Referenzzähler 0, Freigabe des Objekts.
Wie sonst auch gilt also auch hier die Regel: Interfaces und Klassen sind nur mit viel Umsicht zu vermischen. Und bei Interfaces gilt eben nicht, dass du alles mit Free freigeben musst, was du mit Create angefordert hast.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat