Einzelnen Beitrag anzeigen

win568

Registriert seit: 8. Sep 2008
121 Beiträge
 
#8

AW: ,net Framework entladen nach Beendigung COM

  Alt 26. Jun 2017, 13:09
Hi

Eine Überlegung wäre eine eigene Exe, die wir hijacken und als MDI Fenster in der Applikation anzeigen. Wollte den Aufwand aber vermeiden.

Wir haben auch noch ein Verhalten in den TOleServer festgestellt, das die Situation verschärft. Die TLB verwendet für manche Klassen OLEServer Ableitungen. Diese benötigen wir, um Events einzuhängen. Wenn ich nun die Klassen freigebe, wird der Refcount der eingebetteten FEventDispatch Instanz nicht mehr 0 und es bleiben Speicherlecks übrig.

Das ganze passiert, da im Queryinterface einmal das Interface mit IsEqualIID mit der IID des Interfaces eingehängt wird (ist ja auch korrekt), aber dann die Methode nochmal aufgerufen wird, bei der zwar in der GUID der gleiche D1 Wert, aber D2-D3 = 0 sind. Dadurch wird ein zusätzliches Interface eingehängt (RefCount = 2) aber beim Beenden wird nur einmal das Release aufgerufen.
  Mit Zitat antworten Zitat