Einzelnen Beitrag anzeigen

stachelsau

Registriert seit: 28. Mai 2009
7 Beiträge
 
#2

Re: Memory Leaks bei Einsatz von VTEditors bei VirtualTreeVi

  Alt 13. Aug 2009, 09:26
OK, eigene Dummheit: Natürlich funzt die in dem anderen Thread angesprochene Lösung. Nichtdestotrotz tut die Referenzzählung von TIntfOwnedPersistent in der VTEditors.pas nicht:
Delphi-Quellcode:
function TIntfOwnedPersistent._Release: Integer;
begin
  If FOwnerInterface <> nil then
    Result := FOwnerInterface._Release
  else if not FManaged then
  begin
    Result := InterlockedDecrement(FRefCount);
    if Result <= 0 then Destroy;
  end
  else
    Result := -1;
end;
Standardmäßig wird FManaged auf true gesetzt, so dass hier niemals das Destroy aufgerufen wird. Ich habe mal FManaged auf false gesetzt, aber dann gibts ne Access-Violation in irgendwelchen Process-Handlern.
Was solls, es läuft ja.

VG, Daniel
  Mit Zitat antworten Zitat