Bonjour,

Je vous présente mon problème : J'ai créé une application console C# afin de communiquer avec une DLL en Visual C++ mode CLR.

Mon problème est le suivant : j'ai une méthode avec la signature suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
int EX_Export_File(char *argv);
Cette méthode est dans la DLL Visual C++.

Lorsque j'inclus la DLL dans mon projet C#, je peux faire appel à cette méthode mais curieusement, il me demande en entrée un sbyte* argv. Je n'arrive pas à trouver de solution pour passer uniquement un String...

Comment se fait-il que la signature de la méthode a changé? Comment puis-je faire pour passer un String en C# en char* en Visual C++?

Ce problème se pose dans la mise en place d'un wrapper C++/CLI entre une DLL Win32 C++ et un programme C#.

Merci d'avance pour vos réponses.