je voudrais savoir comment ouvrir en dynamique une dll et appeler une fonction de cette dll en c# avec le framework 1.1
merci
je voudrais savoir comment ouvrir en dynamique une dll et appeler une fonction de cette dll en c# avec le framework 1.1
merci
Regarde du coté de la Reflexion: je pense que cela devrait t'aider mais ta question me parait un peu floue
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
Si tu connais le prototype de la fonction de la dll :
En entête :
Dans ta classe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2using System.Runtime.InteropServices;
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...);
Pourrais tu définir :
- chargement dynamique ?
- charger la dll ?
Ou alors donne un plus de détail sur le but de cette manipulation.
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
Tu peux charger ton assembly à l'aide de Assembly.LoadFile
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.
+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.
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é
Merci Beaucoup meme pas besoin de poser ma question
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