sonne comme une idée terrible? Oui, je le pensais aussi. Inutile de dire que j'ai dit que je devais le faire.enveloppant une application MFC Gui dans une DLL (ou quelque chose d'autre) pour .NET interop
Situation: Ancienne application gui C++ basée sur MFC qui lit et traite un grand nombre de sources de données dans une structure de données interne, avant de l'afficher à l'utilisateur.
Problème: J'ai besoin de cette infrastructure de données dans .NET, au format XML.
Solution:
- Faire une fonction dans l'application MFC qui écrit la structure de données à une grande chaîne XML (facile).
- dllexport cette fonction (ou COM?) (En tant que fonction C++ ou C ou quoi?)
- Compilez l'application MFC GUI dans une DLL (comment?).
- ???
- Référence la dll de .NET et méthode P/Invoke pour un grand profit.
Est-ce que cette folie est? Est-il possible de compiler une bibliothèque DLL à partir d'une application GUI MFC sans le modifier? Est-ce une idée horrible? Quelles sont mes alternatives? Im assez tbh perdu.
c'est ce que je ferais aussi - mais je ne peux pas, parce que je suis juste un entrepreneur et ils 'n'ont pas les ressources' pour changer la portée pour inclure le refactoring de l'application. – dalyons
Je pense que les ressources pour lier l'application graphique en tant que DLL et exposer la logique métier appropriée en tant que fonction exportée peuvent être équivalentes à l'extraction de cette logique métier et à la création d'une nouvelle DLL. – RedBlueThing
Je suis d'accord avec Cannonade. Je ne pense pas que votre approche va fonctionner (je ne suis pas un expert dans ce genre de choses cependant). Mais isoler la logique métier est toujours une bonne idée (pas seulement dans ce cas particulier) et vous apportera d'autres avantages. –