¨Gros problème avec dll

Signaler
Messages postés
3
Date d'inscription
mardi 11 février 2003
Statut
Membre
Dernière intervention
8 avril 2003
-
Messages postés
167
Date d'inscription
dimanche 6 février 2005
Statut
Membre
Dernière intervention
13 avril 2007
-
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

Messages postés
455
Date d'inscription
samedi 26 octobre 2002
Statut
Membre
Dernière intervention
6 avril 2004
8
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
Messages postés
455
Date d'inscription
samedi 26 octobre 2002
Statut
Membre
Dernière intervention
6 avril 2004
8
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
Messages postés
455
Date d'inscription
samedi 26 octobre 2002
Statut
Membre
Dernière intervention
6 avril 2004
8
voila, je viens de livrer un exemple
d'utilisation d'une DLL 'C' à partir de C# .
Messages postés
3
Date d'inscription
mardi 11 février 2003
Statut
Membre
Dernière intervention
8 avril 2003

Merci beaucoup!!!
Je vais le tester demain
Messages postés
167
Date d'inscription
dimanche 6 février 2005
Statut
Membre
Dernière intervention
13 avril 2007

Oui merci, très utile et très bien fait !!!