2 Exe gleichzeitig
-
Seh ich das jetzt falsch?
Wenn in meiner MCF Applikation eine .net Applikation aufrufe, so ist meine MFC Applikation "gesperrt". Ich muss zuerst die .net Applikation schliessen, um wieder auf die MFC Applikation zu kommen.
Da ist doch das Problem, dass ich .net Applikation nicht einfach minimieren kann.
Die Message, die die .net Applikation sendet, kann ich doch in der MFC Applikation nicht empfangen, oder?
Wenn doch, wie?
-
simcon schrieb:
Seh ich das jetzt falsch?
Wenn in meiner MCF Applikation eine .net Applikation aufrufe, so ist meine MFC Applikation "gesperrt".WIE *rufst* Du die den auf?????
IMHO ging es doch darum einen *Prozess* zu _starten_!EDIT: Upps... es geht um *synchrone* COM Aufrufe (das kann man aber auch nur erraten, oder Martin?)
Dann Rate ich diese in einen eigenen Thread auszulagern.
-
Hab ich doch schon erwähnt.
Ueber eine Instanz:hRes = g_pInterface.CreateInstance(__uuidof(Test::TestCOM)); HookEvent(g_pInterface);
-
Jochen Kalmbach schrieb:
EDIT: Upps... es geht um *synchrone* COM Aufrufe (das kann man aber auch nur erraten, oder Martin?)
Dann Rate ich diese in einen eigenen Thread auszulagern.
-
Hast Du mir dann mal ein kleines Code Beispiel?
Muss ich dann anstatt der Instantance ein Thread aufrufen?
-
Zeig mal, WAS denn das problem verursacht!
Das konnte ich bisher aus Deinem Code noch nicht erkennen...Auch: Hast Du "Multi-Threading" bei COM-Aktiviert oder "Apartment-Threading"?
-
Das ganze funktioniert ja. Ich kann aus meiner MFC Anwendung die .net Applikation aufrufen.
Das Problem ist, wenn die .net Applikation läuft, so kann ich nicht mehr auf meiner MFC Applikation was machen. Ich muss zuert die ..net Applikation schliessen, damit ich wieder bei meine MFC Applikation was machen kann.1. MFC Exe ist das Hauptprogramm.
2. Über Menu wird eine .net Applikation gestartet.
3. Solange der Dialog der .net Applikation offen ist, kann ich nicht auf der MFC Applikation arbeiten.
4. Muss .net Dialog zu machen, und dann kann ich wieder auf die MFC Applikation zugreifen.Und ich will, dass wenn auch der .net Dialog offen ist, auf meine MFC Applikation zugriff haben.
-
Ich habe es Dir doch schon erklärt:
Du machst einen Aufruf über COM in dem .NET Programm solange ist Deine Anwendung blockiert! Punkt!
Der COM Aufruf kehrt eben erst zurück, wenn die andere Anwendug damit fertig ist.Wenn Du es anders möchtest musst Du den Aufruf auslagern, wie Jochen es erwähnte.
-
Und wie geht das, mit dem auslagern?
-
simcon schrieb:
Und wie geht das, mit dem auslagern?
Du startest einen anderen Thread mit AfxBeginThread und führst Deinen Befehl von dort aus. (AfxOleInit nicht vergessen).