phantom_2005
Messages postés184Date d'inscriptionmercredi 8 décembre 2004StatutMembreDernière intervention 1 septembre 2010
-
7 mai 2010 à 10:15
phantom_2005
Messages postés184Date d'inscriptionmercredi 8 décembre 2004StatutMembreDernière intervention 1 septembre 2010
-
7 mai 2010 à 15:34
Bonjour à tous,
Voila mon problème:
j'ai créé une dll avec Visual C++ 6.0 (MyDll.dll) contenant deux classes 'MyClass1' et 'MyClass2' exportées par _declspec(dllexport).
L'exportation de ces classes fonctionne très bien car je les utilise dans un autre programme (également créé en VC6.0) en incluant le .lib et le .h de la dll.
Ma question est :
En C#, comment puis-je retrouver le même comportement qu'en C++?
C'est à dire utiliser les classes exportées 'MyClass' et 'MyClass2' de la même manière que sous Visual C++ 6.0.
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 7 mai 2010 à 14:51
Salut, pour exporter les méthodes, tu dois marquer ta classe comme exportée coté C++ (ce qui est déja fait si je comprends bien) et utiliser l'attribut CallingConvention.ThisCall avec DllImport coté C# et la premier paramètre doit être le pointeur "this".
Exporter la classe ce n'est pas possible mais tu peux passer un pointeur vers C#.