Autor Beitrag
Sebtob
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Fr 27.10.06 13:38 
Hi, ich habe folgendes Problem:

Ich schreibe eine C# DLL die über WinSocks mit einer anderen Anwendung kommuniziert. Warum ich anstelle von WinSocks nicht System.Net.Sockets verwende ist eine andere Geschichte. Jedenfalls meldet sich meine DLL bei Programmstart bei der anderen Anwendung an und soll sich beim Beenden wieder abmelden. Beides ist im Grunde nur ein .SendData() Befehl. Mein Problem ist das Abmelden.
Sobald ich den SendData-Befehl zum Abmelden im Destruktor meiner Klasse ausführen will erscheint folgender Fehler: "COM object that has been separated from its underlying RCW cannot be used."
Wie es aussieht ist der RCW zu diesem Zeitpunkt schon nicht mehr vorhanden und somit kann die COM-Komponente nicht mehr verwendet werden (Oder sehe ich das womöglich falsch???).
Deswegen habe ich anstelle des Destruktors ein Event gesucht dass beim beenden feuert. Bis jetzt bin ich aber nicht fündig geworden. Weder Dispose() noch HandleDestroyed() noch ControlRemoved() feuert beim Beenden.

Abes es muss doch irgendetwas geben was ich verwenden könnte. Hat jemand vielleicht eine Idee?