thmatew
Messages postés68Date d'inscriptionjeudi 16 juin 2005StatutMembreDernière intervention19 janvier 2010
-
8 mars 2007 à 11:35
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 2012
-
8 mars 2007 à 15:54
salut a tous,
mon petit probleme c'est que je dois créer une dll en C et je dois l'utiliser aprés dans un programme C#.
dans la DLL en C j'ai une fonction qui s'appelle affiche voici la déclaration : char* affiche();
et j'aimerai l'utiliser dans mon programme C#, voici ce que je fais dans mon programme :
...
using System.Runtime.Interop;
...
[DllImport("maDll.dll",EntryPoint="affiche")]
public static extern string affiche();
...
et quand je fais un MessageBox.Show(affiche());
il me met un message d'erreur comme quoi il trouve pas l'EntryPoint affiche.
la DLL est trouvée mais pas les fonctions qui son dedans .
Que puis-je faire????
Merci d'avance a tous pour l'aide que vous m'apporterez.
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 8 mars 2007 à 15:32
Salut, le compilo C/C++ a surement décoré le nom de ta fonction, soit tu utilises le linkage C pour eviter ça soit tu regardes le nom exact de ta fonction avec dumpbin -exports.
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 8 mars 2007 à 15:54
"Mes fonctions n'etaient pas "décorer" mais invisible pour l'exterieur"
Enlève le linkage C que tu viens de rajouter et regardes le nom de ta fonction avec l'utilitaire en ligne de commande dumpbin, tu dois l'avoir avec VC++. ( dumpbin -export )