Einzelnen Beitrag anzeigen

mjustin
Online

Registriert seit: 14. Apr 2008
3.005 Beiträge
 
Delphi 2009 Professional
 
#12

AW: Supports(..) liefert Referenz welche AV auslöst

  Alt 20. Jan 2015, 12:14
Nein, das Leak ist her nur, weil TComponent/TInterfacedObject nicht über die Referenzzählung freigegeben wird, sondern ausschließlich über das Free der Objektinstanz.
Wird hier "Compilermagie" anstelle Referenzzählung verwendet? (Nach der Antwort Nummer eins auf Stackoverflow wird Referenzzählung verwendet, diese aber scheitert da die _Release Methode bei TComponent anders als bei TInterfacedObject implementiert ist, um die Lebenszeit über Objektbesitzerschaft zu steuern). Das Free führt daher - wenn ich es richtig verstehe - in beiden Fällen zu einem Dekrementieren des Referenzzählers und dem dadurch aufgerufenen _Release.
Michael Justin

Geändert von mjustin (20. Jan 2015 um 12:22 Uhr)
  Mit Zitat antworten Zitat