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 :

C# DLL managé et non managé


Sujet :

C#

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 382
    Points : 73
    Points
    73
    Par défaut C# DLL managé et non managé
    Bonjour, je cherche mais je ne trouve pas. J'aimerais savoir comment faire pour utiliser de façon implicite des dll managé et de façon explicité des dll managé et non managé ( native ).

    Si j'ai bien compris, pour utiliser une dll non managé implicite en C# on utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
            [DllImport("user32")]
            static extern typeRetour nomMethode( ... );
    et pour charger une dll managé de façon explicite il faut faire un gros :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
                DirectoryInfo dir = new DirectoryInfo("RepertoireDesDLL");
                foreach (FileInfo fi in dir.GetFiles("*.dll"))
                {
                    MessageBox.Show(fi.FullName);
                    Assembly ass = Assembly.LoadFile(fi.FullName);
                    if( ass == null )
                        MessageBox.Show("erreur 1");
     
                     // Après je ne connais pas le code...
                     // Activator.CreateInstance();
     
                }

  2. #2
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    façon implicite des dll managé
    Si j'ai bien compris il faut juste que tu ajoutes une référence à la dll dans ton projet ( sous Visual Studio ou SharpDevelop celà ce fait dans une entrée "Reférences" de la vue hierarchique des fichiers du projet ).

    D'ailleurs tu le fait déjà au départ en réferençant mscorlib.dll dans laquelle sont définis tous les types de bases comme le "string" ou encore avec System.Windows.Forms.dll quand tu fait une application avec une fenêtre.

    explicité des dll managé
    fait des recherches du coté de la Reflexion

    et non managé ( native ).
    http://www.codeproject.com/dotnet/DynamicDllImport.asp

Discussions similaires

  1. Echange d'objet entre classe managée et non managée
    Par alexadvance dans le forum C++/CLI
    Réponses: 15
    Dernier message: 13/04/2007, 14h45
  2. Réponses: 7
    Dernier message: 07/01/2007, 13h50
  3. convertir un type non managé en type managé.
    Par poporiding dans le forum MFC
    Réponses: 6
    Dernier message: 22/05/2006, 10h49
  4. convertir un type non managé en type managé.
    Par poporiding dans le forum C++
    Réponses: 3
    Dernier message: 22/05/2006, 09h44
  5. code non managé avec interface managée ...
    Par izbad dans le forum MFC
    Réponses: 6
    Dernier message: 19/12/2005, 16h36

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