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
6351
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
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
98
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
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
98
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