Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#14

Re: AddObject mit einem Interface?

  Alt 9. Apr 2008, 13:18
Zitat von jbg:
Und wenn der Programmierer bei Interfaces selbst die Referenzzählung übernimmt führt das in 99% aller Fälle immer zu Speicherlecks, EInvalidPointer Exceptions oder Zugriffsverletzungen.
Schon, aber hier geht es nicht anderst.
Da man den Interfacepointer (der ja in Delphi eine Art Smartpointer ist) in einer Variablen (Typ TObject) speichert, die kein Interfacepointer ist, muss man den RefCount selbst um Eins erhöhen.
Dann ist man natürlich auch dafür verantwortlich, dass wenn die Variable ihren Wert verliert, den RefCount selbst um Eins runterzuzählen.
Vergisst man das, lebt das Objekt weiter (Speicherleck).
Andreas
  Mit Zitat antworten Zitat