EXE via COM öffnen: lässt sich nicht mehr beenden



  • Hallo,

    ich starte eine Exe aus meiner Exe über COM:

    #define COM_ISERVER OLESTR("MyExe.My_Interface")
    hr = CLSIDFromProgID(COM_ISERVER, &clsid);  
    IUnknown* pUnk;
    hr = ::CoCreateInstance( clsid, NULL, CLSCTX_SERVER, IID_IUnknown, (void**) &pUnk);
    

    das funktioniert super. Aber wenn ich die Applkation MyExe beende, dann geht nur das Fenster zu bzw. ganz weg. Die Applikation wird nicht komplett beendet und muss mit dem Taskmanager abgeschossen werden. Warum? Bzw. was muss ich in meinem Code ändern?

    Danke


  • Mod

    Du musst den verwendeten Zeiger, bzw. alle COM Zeiger auch wieder mit Release freigeben.
    Am Besten ist es Du verwendest sichere Zeiger (CComPtr)...


Anmelden zum Antworten