Announcement

Collapse
No announcement yet.

Kommunikation MFC-App.exe mit C#.NET

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Kommunikation MFC-App.exe mit C#.NET

    Liebe Kollegen!
    Ich habe eine bestehende C++ MFC-Applikation, die schrittweise modernisiert werden sollte. Die Idee ist, bestimmte UI-lastige Bereiche in eine zweite .NET Applikation auszulagern (WinForms od. WPF ist noch offen).
    D.h. es muss eine Kommunikation zw. der alten Applikation und der neuen .NET-Applikation geben und zwar in beide Richtungen.

    Wie kann das am Besten erfolgen?
    Über COM?
    Beides jeweils COM-Server und Client vom anderen????

    Danke im voraus.

  • #2
    Hallo,

    für die uneingeschränkte bidirektionale Kommunikation zwischen zwei EXE-Anwendungen steht COM Interop von .NET nicht zur Verfügung. Wenn die MFC-Anwendung das ConnectionPoint-Interface implementiert, kann die .NET-Anwendung über einen implementierten COM Event Sink die Ereignisse des Outgoing-Interfaces des Source-Objekts der MFC-Anwendung auswerten (d.h. diese Ereignisse werden als "Rückkanal" genutzt). Der gleiche Weg steht auch in einer .NET-Klassenbibkiothek zur Verfügung. Die implementierende .NET-Klasse wird über das Attribut ComSourceInterface gekennzeichnet, um die Ereignisschnittstelle der ConnectionPoints zu aktivieren.

    Comment


    • #3
      Man sollte sich vor eine schrittweisen Portierung überlegen ob es nicht vernünftiger ist auf grüner Wiese unter .NET die Implementierung zu beginnen als sich u.U. Design-Mängel oder Einschänkungen aus der MFC-Welt in die .NET-Welt zu übernehmen.

      Comment


      • #4
        Danke für die Hinweise. Ich werde mich in diese Sache vertiefen.
        Das hat mir sehr geholfen.

        Die Anregung gleich komplett neu zu beginnen, klingt aus technischer Sicht natürlich am Verlockensten. Ist nur aus Kosten- und Zeitgründen leider so nicht machbar. Trotzdem danke.

        Liebe Grüße
        Thomas Gessl

        Comment

        Working...
        X