pipicaca
Messages postés3Date d'inscriptionmardi 11 février 2003StatutMembreDernière intervention 8 avril 2003
-
8 avril 2003 à 00:07
georgeduke
Messages postés167Date d'inscriptiondimanche 6 février 2005StatutMembreDernière intervention13 avril 2007
-
3 août 2005 à 23:42
Bonsoir,
Voila je dois utiliser une dll écrite en C dans un programme écrit en C#. COmment faire??? Les fonctions contenues dans la dll et que je dois utiliser contiennent des structures en paramètres d'entrée/sortie. Peut-on utiliser des #include comme en C++ ou en C???
Merci d'avance
ps: existe-t-il un outil pour gérer les dll sous visual studio.net?
cs_vieuxLion
Messages postés455Date d'inscriptionsamedi 26 octobre 2002StatutMembreDernière intervention 6 avril 20048 8 avril 2003 à 15:29
bonjour,
pour faire cela il faut utiliser la technique appelée PInvoke
ou en plus clair : Platform Invoke
la piste de départ est de déclarer une nouvelle fonction C# non implémentée dans ce langage mais simplement redirigée vers la fonction à appeler dans ta DLL.
Ceci est à faire pour chacune des fonctions à utiliser
[DllImport(<nomdeDLL>, EntryPoint=<nomdefonction>,
CharSet=<type de characterset>]
ici le prototype de la fonction munie des modificateurs
public static extern
enfin il faut faire
using System.Runtime.InteropServices;
pour que l'attribut DllImport soit reconnu
cs_vieuxLion
Messages postés455Date d'inscriptionsamedi 26 octobre 2002StatutMembreDernière intervention 6 avril 20048 8 avril 2003 à 15:44
encore moi,
en ce qui concerne les outils
je pense que tu veux parler d'outils genre ApiViewer qui existe et fait la même chose pour VB6
essaie celui-ci
http://www.mentalis.org/agnet/apiviewer.shtml