IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

DLL avec Visual Studio C# Express 2008


Sujet :

C#

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2008
    Messages : 13
    Points : 8
    Points
    8
    Par défaut DLL avec Visual Studio C# Express 2008
    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

  2. #2
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Points : 8 538
    Points
    8 538
    Par défaut
    Il s'agit d'une dll C++ ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2008
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    Oui exact c'est une dll en C++. De plus, cette DLL utilise les MFC.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 311
    Points : 337
    Points
    337
    Par défaut
    Ajouter simplement une référence vers la DLL ne suffit pas?

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2008
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    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.”

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 311
    Points : 337
    Points
    337
    Par défaut
    J'ai pas regardé la page, mais un lien qui devrait t'aider:

    http://www.codeproject.com/KB/mcpp/usingcppdll.aspx

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2008
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    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?

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2008
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    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.

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2008
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. compiler une dll avec visual studio 2005
    Par DebutantVisualStudio dans le forum Visual C++
    Réponses: 6
    Dernier message: 29/07/2009, 13h33
  2. Réponses: 5
    Dernier message: 06/04/2008, 20h08
  3. Executable avec Visual Studio 2005 express
    Par probo dans le forum Visual C++
    Réponses: 2
    Dernier message: 25/03/2008, 18h12
  4. utilisation DLL avec visual studio .net
    Par G-OnZa dans le forum Visual C++
    Réponses: 2
    Dernier message: 27/04/2007, 15h56
  5. DLL avec Visual C++ 2005 Express
    Par Jloox dans le forum MFC
    Réponses: 5
    Dernier message: 09/03/2006, 18h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo