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#][1.1] Comment ouvrir en dynamique une dll


Sujet :

C#

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 12
    Points : 9
    Points
    9
    Par défaut [C#][1.1] Comment ouvrir en dynamique une dll
    je voudrais savoir comment ouvrir en dynamique une dll et appeler une fonction de cette dll en c# avec le framework 1.1

    merci

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Regarde du coté de la Reflexion: je pense que cela devrait t'aider mais ta question me parait un peu floue

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 12
    Points : 9
    Points
    9
    Par défaut nouvelle description
    j'ai une dll nommée x.dll qui contient une fonction y

    je désire charger la dll x pendant que mon programme s'éxecute et appellé la fonction y

    j'ai vu des appels à assembly.loadfrom ou loadlibrary mais je n'ai jamais réussi à lancer ma fonction Y


  4. #4
    Membre averti

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2006
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 281
    Points : 356
    Points
    356
    Par défaut
    Si tu connais le prototype de la fonction de la dll :

    En entête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    using System.Runtime.InteropServices;
    Dans ta classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    [DllImport(Chemin_vers_dll)]
    private extern (type valeur de retour) FonctionDLL(paramètres...);

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    ce n'est pas un chargement dynamique

  6. #6
    Membre averti

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2006
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 281
    Points : 356
    Points
    356
    Par défaut
    Pourrais tu définir :
    - chargement dynamique ?
    - charger la dll ?

    Ou alors donne un plus de détail sur le but de cette manipulation.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 12
    Points : 9
    Points
    9
    Par défaut chargement dynamique dll
    le chargement dynamique c'est charger en mémoire la dll à n'importe qu'elle
    moment du programme.

    c'est par exemple un chargement dans le programme par un loadfrom('ma dll.dll') ou loadlibrary

    ma dll est une dll win32 et ne pas oublier que je suis en framework 1.1

  8. #8
    Membre expérimenté
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Points : 1 566
    Points
    1 566
    Par défaut
    Tu peux charger ton assembly à l'aide de Assembly.LoadFile
    Mehdi Feki : Modérateur .Net

  9. #9
    Membre éclairé
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Février 2004
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Février 2004
    Messages : 644
    Points : 785
    Points
    785
    Par défaut
    jmperuchot, l'idée que t'as donné LeGars est la bonne. en Win32 c'était LoadLibrary. en .NET la solution de LeGars me semble correcte.

    As-tu fait une recherche sur google ?

    Je ne crois pas.
    Nul ne peut mieux connaitre la connaissance qu'elle-même.

  10. #10
    Membre expérimenté Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Points : 1 379
    Points
    1 379
    Par défaut
    +1 pour Médhi. Ecoutez les modérateurs, ils sont souvent de bon conseil

    J'ajouterai pour ma part, qu'une fois l'assembly chargé, on peut récupérer les Types qui sont définis dedans (Assembly.GetTypes())
    et dans les types on peut récupérer les Methodes (Assembly.GetMethods())
    et que ces méthodes on peut les invoquer (MethodInfo.Invoke(object obj))

    Have fun, bienvenu dans l'univers parallèle de la Reflection.

  11. #11
    Membre averti

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2006
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 281
    Points : 356
    Points
    356
    Par défaut
    Je viens de trouver quelque chose qui ressemble à ce que tu souhaite faire :

    Dans les tutos...http://vincentlaine.developpez.com/t...domain/csharp/

    Si tu n'as toujours pas trouvé

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 11
    Points : 11
    Points
    11
    Par défaut
    Merci Beaucoup meme pas besoin de poser ma question

Discussions similaires

  1. comment liée dynamiquement une dll ?
    Par jmclej dans le forum Visual Studio
    Réponses: 0
    Dernier message: 05/03/2013, 18h37
  2. Comment ouvrir IDLE avec une dimension précise ?
    Par yoshik dans le forum EDI/RAD
    Réponses: 5
    Dernier message: 28/08/2009, 17h56
  3. Réponses: 4
    Dernier message: 15/06/2007, 15h08
  4. Réponses: 7
    Dernier message: 27/04/2006, 16h58
  5. [D6] Charger dynamiquement une DLL
    Par Lung dans le forum Langage
    Réponses: 2
    Dernier message: 10/02/2006, 08h04

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