Bonjour,
J'aimerais un peu d'aide de votre part.Je vous explique mon problème.Je dois apeller un DLL écrite en C++ natif depuis une appli C#.

Voici la méthode que je doit appeller (fichier .h de al dll).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
int  connect (string managerAddress,   int portNumber ) ;
Je fais un Dll Import :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
[DllImport("xxx.dll", CharSet = CharSet.Auto, EntryPoint = "?connect@@YAHV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H000@Z",CallingConvention = CallingConvention.StdCall)]
        public static  extern int connect(String managerAdress, int portNumber);
Pour le parametre en string j'ai tout éssayer ,un stringbuilder etc ...
J'ai une exception qui est :

Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
Pourtant vu que la string est en IN ,normalement ca ne devrait pas arriver.Enfin si ma logique est bonne.J'ai tout essayer mais ca ne marche pas

Est ce que quelqu'un pourrait m'aider please?

Merci .