Introduction
Je vais vous présenter ici comment charger des assembly dynamiquement à l'aide de VB 2005
Pré-requis
J'ai développé ce projet à l'aide de VB 2005 Express Edition.
Nous avons juste besoin du .NET Framework 2.0
I-Création de la DLL
Nous allons commencer par créer la DLL source. Elle contiendra une classe SayHello et une méthode DireBonjour.
Ouvrez Visual Basic 2005.Ensuite,sélectionnez l'option "Bibliothèque de classes" et nommez-la "HelloWorld".
Renommez "Class1.vb" en "SayHello.vb" et ouvrez ce fichier.
Maintenant tapez ceci:
Class SayHello
Function DireBonjour()
Return "Bonjour tout le monde"
End Function
End Class
Sauvegardez le projet,compilez-le et copiez la DLL obtenue dans le répertoire C:\
II-Création du "consommateur de DLL"
Ici,nous allons créer l'application qui va utiliser dynamiquement la DLL crée.
Créez un nouveau projet,choisissez "Application console". Nommez le projet comme vous le souhaitez (Je l'ai appelé ConsoDll)
Ouvrez le fichier qui se présente dans l'explorateur de projets.
Ensuite,tapez ce code:
Imports System.Reflection
Imports System
Sub Main()
Dim TYP As TypeDim index, compte As Integer
Dim asm As Assembly
Dim obj as Object
'On charge l'assembly HelloWorld.dll contenue dans C:\(vous mettez ici le chemin de l'assembly
asm = Assembly.LoadFrom("C:\HelloWorld.dll")
'On obtient le type d'application (nom_namespace.nom_classe)
TYP = asm.GetType("HelloWorld.SayHello")
'On créé une instance du type
obj = Activator.CreateInstance(TYP)
'On exécute la méthode DireBonjour
Console.WriteLine(obj.DireBonjour())
End Sub
Vous pouvez maintenant compiler et exécuter votre programme et admirer le résultat!
III-Explication du code
Dans les deux premières lignes,on importe les packages System et System.Reflection,nécessaires à l'exécution.
A la septième ligne,on charge l'assembly que nous venions de créer au chapitre 1.
Ensuite,on obtient le type(enfin la classe).Il contient le namespace(donc le nom du projet) et la classe contenue dans l'assembly.
Puis on créé l'instance(un objet) de nore type,et enfin on exécute la méthode.
IV-Conclusion
Appeler une DLL dynamique n'est pas si dur que ça,et je ne fais que reprendre un article qui existait sur MSDN.
J'espère que ce tutorial vous sera utile.
Et surtout,je vous souhaite un bon développement!