Ich entwickle eine Text-Editor-Klasse (für eine Chat-Anwendung) basierend auf CRichEditCtrl
(MFC) mit Emoticon-Unterstützung. Nachdem ich die Bitmap des Emoticons geladen habe, verwende ich die Funktion OleCreateStaticFromData
, um sie in CRichEditCtrl
einzufügen. Danach lösche ich einfach das von mir selbst vergebene Bitmap-Objekt. Ich kann überprüfen (mit einem GDIView
Dienstprogramm), dass alle Ressourcen, die ich zuordnen, ordnungsgemäß freigegeben wurden.Speicherverlust bei der Verwendung von Emoticons auf CRichEditCtrl
Das funktioniert perfekt: Die Bitmap (Emoticon) wird auf dem CRichEditCtrl
Fenster gezeichnet und wird wie ein Zeichen behandelt.
Mein Problem ist, dass ich nicht weiß, wie Sie den Speicher freigeben (intern) von OleCreateStaticFromData
zugeordnet, um die Bitmap (Emoticon) zu verwalten. Der Speicherplatz für jedes verwendete Emoticon wird nie freigegeben, auch wenn ich das Objekt CRichEditCtrl
lösche. Ich würde gerne wissen, wie ich dieses Problem beheben kann. Ist das ein MFC-Problem oder mache ich etwas falsch?