DLL C++ en C# --- Connversion d'un char* en string

Résolu
grojulius Messages postés 2 Date d'inscription vendredi 25 juillet 2003 Statut Membre Dernière intervention 15 juillet 2004 - 14 juil. 2004 à 16:27
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 15 juil. 2004 à 13:16
Bonjour !

Je développe une appli qui utilise la DLL moo.dll (en général utilisée par les script mIRC) qui est codée en C++

La plupart des fonctions de cette dll retournent un char*.

Quand je défini mes prototype de fonctions externes dans mon prog, j'utilise le type string mais ca me renvoi des chaines avec pleins de caractères étranges.

Par contre pour un float pas de problème !

Auriez-vous une idée ?

Merci

3 réponses

grojulius Messages postés 2 Date d'inscription vendredi 25 juillet 2003 Statut Membre Dernière intervention 15 juillet 2004
15 juil. 2004 à 12:18
Mince j'suis vraiment pitoyable moi :/

j'avais ca :

[DllImport("c:\\moo.dll", CharSet=CharSet.Auto)]
public static extern string meminfo();

suffisait de mettre ca :

[DllImport("c:\\moo.dll")]
public static extern string meminfo();

et ca marche
3
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
14 juil. 2004 à 17:32
quel genre de caractères étranges ?
donne aussi le prototype de la methode en question pour voir

Cocoricoooooooo !!!!
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
15 juil. 2004 à 13:16
lol
ce qui equivaut a mettre CharSet.Ansi (valeur par defaut pour C#/VB.Net)

mettre CharSet.Auto provoque la sélection de CharSet.Unicode pour les NT, et CharSet.Ansi pour 98/Me

Cocoricoooooooo !!!!
0
Rejoignez-nous