¨Gros problème avec dll

pipicaca Messages postés 3 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 8 avril 2003 - 8 avril 2003 à 00:07
georgeduke Messages postés 167 Date d'inscription dimanche 6 février 2005 Statut Membre Dernière intervention 13 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?

:-p Vive la vie!!!

5 réponses

cs_vieuxLion Messages postés 455 Date d'inscription samedi 26 octobre 2002 Statut Membre Dernière intervention 6 avril 2004 8
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
0
cs_vieuxLion Messages postés 455 Date d'inscription samedi 26 octobre 2002 Statut Membre Dernière intervention 6 avril 2004 8
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
0
cs_vieuxLion Messages postés 455 Date d'inscription samedi 26 octobre 2002 Statut Membre Dernière intervention 6 avril 2004 8
8 avril 2003 à 18:36
voila, je viens de livrer un exemple
d'utilisation d'une DLL 'C' à partir de C# .
0
pipicaca Messages postés 3 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 8 avril 2003
8 avril 2003 à 23:38
Merci beaucoup!!!
Je vais le tester demain
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
georgeduke Messages postés 167 Date d'inscription dimanche 6 février 2005 Statut Membre Dernière intervention 13 avril 2007
3 août 2005 à 23:42
Oui merci, très utile et très bien fait !!!
0
Rejoignez-nous