Petit peu d'une leçon d'histoire ici. Je travaille sur une application C++/MFC existante et j'essaie de démarrer une modernisation incrémentielle en poussant des composants écrits en C# (WinForms et plus tard WPF).Code de rappel non géré de C géré
Je bloque en utilisant .Net/1.1 et VS/2003 pour de nombreuses raisons qui sont impossibles à résoudre dans un proche avenir.
Actuellement, comme une preuve de concept, quelque chose comme cela fonctionne:
#pragma push_macro("new")
#undef new
WinFormA::Form1* myform;
myform = __gc new WinFormA::Form1();
myform->ShowDialog();
#pragma pop_macro("new")
Le problème que je vais avoir est - je besoin du non géré le code C++/MFC pour passer un pointeur de rappel dans la gestion C# WinForm code afin que je puisse capturer les interactions des utilisateurs et les faire traiter par l'application.
J'ai regardé quelques articles tels que this MSDN article mais cela ne fonctionne pas dans VS/2003 (le compilateur n'aime pas la syntaxe de délégué).
Y a-t-il d'autres options? Je ne pense pas pouvoir utiliser DLLImport car j'ai besoin d'interagir avec l'instance d'application spécifique et non avec une API plate.
Merci!