DLL C++ en C# --- Connversion d'un char* en string [Résolu]

Signaler
Messages postés
2
Date d'inscription
vendredi 25 juillet 2003
Statut
Membre
Dernière intervention
15 juillet 2004
-
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
-
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

Messages postés
2
Date d'inscription
vendredi 25 juillet 2003
Statut
Membre
Dernière intervention
15 juillet 2004

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
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
85
quel genre de caractères étranges ?
donne aussi le prototype de la methode en question pour voir

Cocoricoooooooo !!!!
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
85
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 !!!!