Einzelnen Beitrag anzeigen

berens

Registriert seit: 3. Sep 2004
431 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Ole-Objekt sauber freigeben

  Alt 10. Okt 2007, 15:20
Einfach mal spaßeshalber ein wenig übertrieben, leider ohne Erfolg.
Nach der Ausführung ist zwar (wie schon vorher) der Ole-Container nicht mehr zu sehen, das Konsolenfenster aber immernoch. Was nun?

Delphi-Quellcode:
TVLCPlayer = class(TOleContainer)

// ...

destructor TVLCPlayer.Destroy;
begin
    Self.DestroyObject; // auch schon mit Self.Close probiert
    Self.UpdateObject;
    iVLC := NIL;
    try
      Self._Release;
      Self._Release;
      Self._Release;
      Self._Release;
      Self._Release;
      Self._Release;
    except
    end;

    inherited Destroy;
end;
Edit: Das Objekt wird definitiv nicht korrekt freigegeben. Wenn Ich das im 5-Sekunden-Zyklus erstelle und wieder Löschen lasse, bleibt mindestens 1 MB Ram zusätzlich belegt. Auch trotz ausgeschaltetem Konsolenfenster!
  Mit Zitat antworten Zitat