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!