2010-06-22 3 views
2

Je travaille sur une application C++ héritée qui fonctionne sur des périphériques mobiles professionnels robustes fabriqués par Intermec. Je dois ajouter quelques fonctionnalités et je voudrais le construire en utilisant WinForms. L'idée est que les utilisateurs cliquent sur un bouton dans l'ancienne application qui lancerait un écran WinForms. Ensuite, ils font des choses, cliquez sur OK et sont retournés à l'application C++. La question est, puis-je en quelque sorte "intégrer" l'application Winforms dans l'application C++ afin que je puisse ouvrir un Winform en tant que dialogue modal et transmettre des informations entre les 2 applications.Extension de l'ancienne application Windows C++ avec WinForms

Merci beaucoup pour votre aide.

Vive

Mark

+0

Est-il possible de réécrire l'application héritée à la place? –

+0

@Andrew: réécrire une application entière juste pour avoir une boîte de dialogue dans WinForms me semble être un problème sérieux. @Mark: Quel est le contenu du C++ écrit avec? Visual C++? –

+0

Oui, mais peut-être soutenir héritage intégration .net + sera plus exagérée si l'application a tendance à être développée plus loin. –

Répondre

2

D'abord nous allons être clair que le cadre est compact pas le cadre complet et donc beaucoup de choses qui fonctionnent sur le bureau sont pas va travailler pour vous.

Vous n'avez vraiment qu'une seule option, bien qu'il existe de nombreuses façons d'utiliser cette option. Etant donné que Compact Framework ne prend pas en charge l'hébergement EE (c'est-à-dire le chargement du CLR dans une application native), votre seule option pour exécuter du code managé consiste à écrire et à exécuter une application gérée. Période. Maintenant, comme je l'ai dit, il existe des options sur la façon dont vous allez à ce sujet. Par exemple, vous pouvez lancer l'application lorsque vous lancez l'application MFC et simplement l'exécuter sans formulaire, puis utiliser une forme de IPC (point to point queues serait probablement le plus logique, mais un memory-mapped file pourrait également être utile), puis avoir les applications "parler" se dépasser. Ainsi, votre application C++ peut envoyer un message indiquant «Afficher le formulaire A» et lorsque le formulaire A se ferme, l'application gérée peut renvoyer des données.

+0

Merci beaucoup ctacke! Je n'ai pas eu l'occasion de vérifier les autres suggestions mais je me doutais que c'était le cas. Vous m'avez sauvé beaucoup de temps :) –

0

Il est MFC and WinForms Integration Demo pour VS2005. Hope it helps

+0

Cool - merci. Je vais me renseigner. La première question est de savoir si cela est pris en charge par Windows Mobile. –

+1

Ce n'est pas pris en charge dans les FC, alors ne passez pas trop de cycles à regarder. – ctacke