Zum Inhalt springen

COM Resourcenmanagement


Guybrush Threepwood

Empfohlene Beiträge

Ich habe einen C# Com Server und einen C++ COM Client.

Muss ich die Daten die ich vom Server im Client erhalte manuell wieder freigeben oder wird das irgendwie durch COM automatisch erledigt (ich vermute nicht)?

Also zum Beispiel bekomme ich ein SAFEARRAY*, erzeuge mir daraus ein CComSafeArray durchlaufe das in einer Schleife und frage dann aus den einzelnen Elementen Daten ab.

Das CComSafeArray müsste seine Resourcen ja wieder selber freigeben, aber was ist mit dem ursprünglichen SAFEARRAY oder was ist wenn ich mir aus einem Element aus dem CComSafeArray einen Wert vom Typ BSTR hole.

Wird der BSTR automatisch mit freigegeben wenn das CComSafeArray seine Resourcen freigibt oder muss ich den auch manuell freigeben?

Fragen über Fragen...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ok das heißt nach dem erzeugen des CComSafeArrays kann ich das SAFEARRAY einfach komplett freigeben und muss dann nur noch die BSTRs freigeben die ich aus dem CComSafeArray hole.

Was mich aber gerade ein bisschen verwirrt ist folgendes.

Ich lege ein CComSafeArray innerhalb einer Methode an, das heißt am Ende der Methode wird es automatisch aufgelöst.

Innerhalb der Methode durchlaufe ich es und erstelle für jedes Element einen Eintrag in einem TreeView und hänge das Element aus dem CComSafeArray an den lParam Parameter des TreeView Eintrags dran.

Das würde aber doch bedeuten das beim Auflösen des CComSafeArray auch die Elemente an den TreeView Einträgen ungültig werden und das nur zufällig "funktioniert" oder nicht?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...