Forum: Sonstige Fragen zu Delphi
Delphi
by himitsu,
13. Aug 2009
das ist ja auch so geplant :)
abgesehn, daß _Release das Objekt nicht freigibt, wenn noch irgendwo eine Referenz existiert
und durch _AddRef die InterfaceList das Objekt auch nicht freigibt, da ja der Referenzzähler danach nur von 2 auf 1 fällt und demnach nicht freigegeben wird.
Forum: Sonstige Fragen zu Delphi
Delphi
by himitsu,
13. Aug 2009
Das ist schon OK und auch vollkommen richtig so. :angel:
Wenn du es mischen willst, dann bleiben dir grundsätzlich 2 Möglichkeiten_
- entweder du schaltest die Referenzzählung ab
und gibst selber frei, mußt dann aber auch aufpassen, daß beim Freigeben das Objetzt nicht doch nocht irgendwo benötigt wird, weil z.B. irgendwo eine Intervace-Variable noch nicht freigegeben wurde
- oder du...
Forum: Sonstige Fragen zu Delphi
Delphi
by himitsu,
12. Aug 2009
sowas passiert halt, wenn man Interfaces und Objekte mischt :warn:
also Objekt hat es einen Instanzzähler von 0, bei übergabe an die Interface-Variable/-Liste wird dieser auf 1 erhöht
und beim löschen/remove wieder auf 0 erniedrigt und demnach freigegeben.