Bonjour,
J’aimerais savoir comment inclure et utiliser les fonctions d’une DLL dans Visual Studio C# Express 2008. Je possède le fichier NM.dll, NM.lib et NM.h.
Merci
Bonjour,
J’aimerais savoir comment inclure et utiliser les fonctions d’une DLL dans Visual Studio C# Express 2008. Je possède le fichier NM.dll, NM.lib et NM.h.
Merci
Oui exact c'est une dll en C++. De plus, cette DLL utilise les MFC.
Ajouter simplement une référence vers la DLL ne suffit pas?
Je vais dans « project », « add reference » et je sélectionne mon DLL.
J’obtiens l’erreur suivante :
“A reference to (mon dll) could not be added. Please make sure that the file is accessible, and that is a valid assembly or com component.”
J'ai pas regardé la page, mais un lien qui devrait t'aider:
http://www.codeproject.com/KB/mcpp/usingcppdll.aspx
Merci pour le lien, ceci m’a permis d’avancer.
J’ai compris que j’avais un dll « unmanaged ». Maintenant, je dois exporter les informations du dll avec Dumpbin.exe. Ainsi ensuite je pourrai utiliser mon dll avec les informations retirées avec le programme. Le seul hic c’est que ce programme n’est pas inclus avec la version Express (http://msdn.microsoft.com/fr-fr/library/hs24szh9.aspx).
Est-ce possible de télécharger Dumpbin.exe car je ne le trouve pas sur le net?
J’ai cherché sur le net et j’ai vu que je devrais être en mesure d’utilisé Pinvoke comme l’exemple suivant en plaçant mon dll dans le répertoire bin:
class PlatformInvokeTest
{
[DllImport("user32.dll")]
public static extern int MessageBoxA(
int h, string m, string c, int type);
public static int Main()
{
return MessageBoxA(0, "Hello World!", "My Message Box", 0);
}
Le problème que j’ai c’est que mes variables de mes fonctions ne sont pas standards (ex: int or string). J’ai regardé dans le fichier .h et je désire utiliser la fonction :
HANDLE “my function”( in_addr A, in_addr B, UINT C, UINT D = WM_APP );
Cependant, je ne sais pas comment gérer HANDLE, in_addr, UINT and WN_APP.
Merci à tous de vos commentaires, ceci ma permis d'avancer. Mon problème n'a plus de lien avec la dll maintenant. C'est un problème de type de variable. Je vais donc poster une autre question au besoin.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager