Load DLL in VB.NET
Dll in Visual Basic must be load to make your software correctly. Dll are librairy use to run multiples actions. If there is a missing dll, you have to download it somewhere a place it back in the same place where it suppose to be.
one thing your program could do is to dynamically load your dll. That way, your program could handle missing dll and will be able to run without them.
The sample presented in this post separated into several parts. The purpose of this post is to make your program more powerfull.
- The main program
- The DLL number 1
- The DLL number 2
You may have to change the path to get your DLL. I intentionally left the big string in the code so you could easily change it before using it.
This is the Layout sample:
- Form1
- MenuStrip1
- Multiples Menu Items (Fichier, Options, HQ, �.)
Sample of form1.vb
Load DLL in VB.NET
Dll in Visual Basic must be load to make your software correctly. Dll are librairy use to run multiples actions. If there is a missing dll, you have to download it somewhere a place it back in the same place where it suppose to be.
one thing your program could do is to dynamically load your dll. That way, your program could handle missing dll and will be able to run without them.
The sample presented in this post separated into several parts. The purpose of this post is to make your program more powerfull.
Imports System.Reflection 'you need this line to use Assembly and Activator Public Class Form1 Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load load_dll() End Sub Private Sub load_dll() Dim oType As System.Type Dim oAssembly As System.Reflection.Assembly Dim oObject As System.Object Dim ms As System.Windows.Forms.ToolStripMenuItem 'We load the assembly called HelloWorld.dll located in C:\ oAssembly = Assembly.LoadFrom("C:\Users\checkkay\Documents\Visual Studio 2010\Projects\SampleAssembly\ClassLibrary1\bin\Debug\ClassLibrary1.dll") 'We get the type of the application (Class_Root_Namespace.Name_Class) oType = oAssembly.GetType("ClassLibrary1.SayHello") 'We create an type instance oObject = Activator.CreateInstance(oType) 'We execute the methode Hello MsgBox(oObject.Hello()) 'call a command from the class1 tsHQ1 = New System.Windows.Forms.ToolStripMenuItem("fonction 1") ms = Me.MenuStrip1.Items(0) 'Selecting the first menu Item (File or Fichier) ms.DropDownItems.Add(tsHQ1) 'Adding a MenuItem Under File or Fichier oAssembly = Assembly.LoadFrom("C:\Users\checkkay\Documents\Visual Studio 2010\Projects\SampleAssembly\ClassLibrary2\bin\Debug\ClassLibrary2.dll") 'We get the type of the application (Class_Root_Namespace.Name_Class) oType = oAssembly.GetType("ClassLibrary2.SayHello") 'WE create an type instance oObject = Activator.CreateInstance(oType) tsHQ2 = New System.Windows.Forms.ToolStripMenuItem("fonction 2") ms = Me.MenuStrip1.Items(0) 'Selecting the first menu Item (File or Fichier) ms.DropDownItems.Add(tsHQ2) 'Adding a MenuItem Under File or Fichier End Sub Private Sub FermerToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles FermerToolStripMenuItem.Click Me.Close() Me.Dispose() End Sub End Class |
Sample of place where you could declare your ToolStripMenuItem with events:
- tsHQ1 as System.Windows.Forms.ToolStripMenuItem
- tsHQ2 as System.Windows.Forms.ToolStripMenuItem
Imports System.Reflection Imports System Module Module1 Public WithEvents tsHQ1 As System.Windows.Forms.ToolStripMenuItem Public WithEvents tsHQ2 As System.Windows.Forms.ToolStripMenuItem Public Sub launchetshq1() Handles tsHQ1.MouseDown MsgBox("allo 1") End Sub Public Sub launchetshq2() Handles tsHQ2.MouseDown MsgBox("allo 2") End Sub End Module |
Finally a sample of a home made DLL. ClassLibrary1 and ClassLibrary2 are virtually identical.
Public Class SayHello Private mName As String Function Hello() Return "Hello World" End Function Public Function Bonjour() Return "Bonjour le monde" End Function Public Sub New() Me.mName = "HQtool1" End Sub End Class |
What the code does is relatively simple.
First, the form will try to lead a first DLL and will put it in oAssembly. oAssembly will be our DLL inside the main program.
Then, you need to access to your stuff inside your DLL (Assembly). Here, you don�t have any choice, you need to know the Class Name, the Assembly Name; if required the Name Space and the root Name Space.
oType = oAssembly.GetType("ClassLibrary1.SayHello") |
Download the sample project : SampleAssembly.zip
Other posts:
References and External Links:
Visual Studio 2012 from Microsoft Visual Studio site
Cheapest way to get Visual Studio any editions from Amazon:
Update Contact :
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email : Fajarudinsidik@gmail.com
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email: Fajarudinsidik@gmail.com
atau Kirimkan Private messanger melalui email dengan klik tombol order dibawah ini :