Chargement d'assembly avec vb 2005

Chargement d'assembly avec vb 2005

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

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.
  • Sélectionnez l'option "Bibliothèque de classes"
  • Nommez-la "HelloWorld".
  • Renommez "Class1.vb" en "SayHello.vb" et ouvrez ce fichier.
  • Tapez ceci:
Class SayHello

   Function DireBonjour()

         Return "Bonjour tout le monde"

   End Function

End Class
  • Sauvegardez le projet,
  • compilez-le
  • copiez la DLL obtenue dans le répertoire C:\

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.
  • 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!

Explication du code

Dans les deux premières lignes,on importe les packages System et System.Reflection,nécessaires à l'exécution.

Ensuite, 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.

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!

Ce document intitulé « Chargement d'assembly avec vb 2005 » issu de CodeS SourceS (codes-sources.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Rejoignez-nous