gwenn035
Messages postés9Date d'inscriptionjeudi 21 novembre 2002StatutMembreDernière intervention 1 juillet 2004
-
25 juin 2004 à 13:47
gwenn035
Messages postés9Date d'inscriptionjeudi 21 novembre 2002StatutMembreDernière intervention 1 juillet 2004
-
1 juil. 2004 à 09:48
Bonjour à tous, je debute en C# et en Cpp (je suis plutot Java pour le moment) et j'ai fais une dll en vc++ qui contient une procedure qui a 4 paramètres de type char*.
Maintenant je veux pouvoir acceder à cette methode depuis mon programme en C# mais je sais pas si je dois utiliser un char[], String ou autre....
------------------------------------------------------------
prototype dans la dll cpp
------------------------------------------------------------
void __stdcall Parse(char*,char*,char*,char*);
------------------------------------------------------------
chargement de la dll et utilisation dans c#
------------------------------------------------------------
PS : je viens de taper le code de tête sans avoir compilé car j'ai pas mon source avec moi mais en gros c'est ça. txtFileName, txtFilePath, txtTitle, txtAuthor sont 4 textbox de mon form et btnParse un bouton qui lance le traitement.
Pour avoir une idée du fonctionnement la methode de la dll prend le FileName et le FilePath (peut être NULL car pas obligatoirement utilisé) et en deduit le nom de l'auteur et le titre. Vous aurez deviner que c'est pour de la musique... :-)
cs_LordBob
Messages postés2865Date d'inscriptionsamedi 2 novembre 2002StatutMembreDernière intervention11 mai 20099 25 juin 2004 à 15:24
ouais le coq a raison !!! juste une question comme ca pour moi qui debute egalement en C#... les pointeurs n'existe pas, les tableau existe eu en C# non? si oui, on peut remplancer un char *var par un char var[xx], est ce exacte?
Bob...
"La chance accorde ses faveur aux esprits avertis..."
gwenn035
Messages postés9Date d'inscriptionjeudi 21 novembre 2002StatutMembreDernière intervention 1 juillet 2004 28 juin 2004 à 13:59
Bon et bien j'ai toujours pas réussi à utiliser ma dll depuis c#.
Ce qui est bizarre c'est que le programme se termine sans aucun message d'erreur. Donc pas moyen de savoir d'ou ça vient.
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 28 juin 2004 à 14:20
ah ba fallait le dire que les 2 derniers etait en sortie
string est un type "immuable" : une operation sur des string retourne toujours une nouvelle instance (chaine[0]='a' est possible en C++, pas en C# par exemple)
quand on doit recuperer qqch en sortie, on marshall en StringBuilder, pas string :