2016-05-05 9 views
0

Hallo Kollegen Programmierer, ich komme zu Ihnen zurück, um nach einer schnellen Möglichkeit zu fragen, etwas mit MFC-Anwendungen zu tun.Convert MainApp von einer MFC-Anwendung in einen sekundären Dialog

Ich habe zwei MFC-Anwendungen, und ich möchte eine andere starten in einem separaten Thread, so kann ich beide Dienste ausgeführt werden von der Ausführung einer einzigen exe ​​ Datei ausführen.

Ich bin eigentlich neu zu MFC, so dass ich nicht wirklich weiß, welche Optionen ich habe. Ich habe einige schmutzige Dinge versucht, aber ich bekomme immer wieder Probleme mit duplizierten Ressourcen, ganz zu schweigen davon, dass beide Apps mit BOOL CMainApp::InitInstance() starten und ich vermute, dass es keine Möglichkeit gibt, zwei Initialisierungsinstanzen zu haben.

Gibt es einen schnellen Weg, um eine der Anwendungen zu einem sekundären Dialog umzuschreiben, ohne zu viel Kopfschmerzen zu verursachen?

Vielen Dank im Voraus, und entschuldigen Sie, wenn ich etwas seltsam oder einfach frage.

Antwort

0

Es hängt davon ab, welche Art von MFC-Anwendungen sie sind? MDI, SDI, Dialogbasiert?

Hier sind einige Optionen:

  1. Wenn der sekundäre App Dialog-basiert ist, die Umwandlung ist ziemlich einfach: Sie Implementierungsdateien für diesen Dialog in die erste App und fusionieren die Ressourcen müssen bewegen.
  2. Wenn beide Anwendungen MDI sind, können Sie ihre Dokumentvorlagen zusammenführen, damit die erste Anwendung für alle Dokument-/Ansichtstypen verwendet werden kann.
  3. Sonst - hast du in Erwägung gezogen, einfach die zweite App über CreateProcess() zu erstellen? Was bedeutet es, dass sie von "einer einzigen exe-Datei" ausgeführt werden?
+0

Vielen Dank für die Antwort Vlad Feinstein, nehme ich an, seine Dialog basiert. Ich habe versucht, die Implementierungsdateien sowie die Ressourcen zu verschieben, aber ich erhalte immer wieder doppelte Ressourcenprobleme. Und beide Apps werden mit einer initInstance gestartet, ich denke, es weiß eigentlich nicht, welche als Haupt-App zu starten ist. Ich werde das beiseite lassen, da ich noch viele Codierungen in der Haupt-App machen muss und ich werde es versuchen, sobald ich einen voll funktionsfähigen Code habe. Auf der anderen Seite, wie funktioniert CreateProcess()? Ich denke, es startet eine separate ausführbare Datei in einer App? Danke nochmal. –

+0

In Ordnung, ich bin fertig mit dem Code und ich habe bereits den CreateProcess() Aufruf implementiert, es funktioniert wirklich wie ein Charme !! Vielen Dank für die Hinweise Vlad. –