Ich arbeite in einem meiner Programme mit einem COM-Interface, über das ich mit einem anderen Programm kommuniziere (InProc-Server). Das Problem ist folgendes:
ich gebe das COM Objekt per ReleaseComObject wieder frei, versichere mich, daß der Rückgabewert (also der Referenzcounter) = 0 ist und setze das Objekt auf null. Jetzt sollte sich die Applikation des InProc-Servers doch eigentlich beenden lassen. Geht aber nicht. Wenn ich die Applikation danach auf normalem Wege beende, schließt sich zwar das Fenster, jedoch bleibt die Instanz trotzdem noch im Speicher.
Die Applikation, die ich aus meinem Programm per COM steuere, ist ebenfalls eine Eigenentwicklung aus unserem Team.
Was ist nun wahrscheinlicher? Daß mein Programm die Beendigung verhindert, oder daß im COM-Server ein Problem ist, der dazu führt, daß die Applikation nicht beendet werden kann?
ich gebe das COM Objekt per ReleaseComObject wieder frei, versichere mich, daß der Rückgabewert (also der Referenzcounter) = 0 ist und setze das Objekt auf null. Jetzt sollte sich die Applikation des InProc-Servers doch eigentlich beenden lassen. Geht aber nicht. Wenn ich die Applikation danach auf normalem Wege beende, schließt sich zwar das Fenster, jedoch bleibt die Instanz trotzdem noch im Speicher.
Die Applikation, die ich aus meinem Programm per COM steuere, ist ebenfalls eine Eigenentwicklung aus unserem Team.
Was ist nun wahrscheinlicher? Daß mein Programm die Beendigung verhindert, oder daß im COM-Server ein Problem ist, der dazu führt, daß die Applikation nicht beendet werden kann?