Utilisation de DLL.

 

1 - Créer un programme standard (sans DLL).

Ajouter ou retrancher un nombre à un autre (deux fonctions <> deux boutons)

Créer un nouveau projet VB5 "EXE Standard".

Ajouter dans la form (feuille) trois TextBox : Text1, Text2, Text3
et deux boutons : Command1 et Command2 (un pour chaque fonction).

Puis saisissez le code suivant :


Private Sub Command1_Click()
Text3.Text = CLng(Text1.Text) + CLng(Text2.Text)
End Sub

Private Sub Command2_Click()
Text3.Text = CLng(Text1.Text) - CLng(Text2.Text)
End Sub

Exemple1 : Le programme standard sans DLL.

Testez le programme (rien d'extraordinaire, c'est une calculatrice deux fonctions)

2 - Créer un programme standard et une DLL.

Dans le même projet ajouter un nouveau projet ActiveX DLL. (Fichier - Ajouter projet).
Dans le projet DLL vous trouverez une Class destinée à recevoir le code des fonctions, ouvrer la Class et saisissez le code suivant :

Public Function Ajouter(Op1 As Long, op2 As Long) As Long
Ajouter = Op1 + op2
End Function

Public Function Oter(Op1 As Long, op2 As Long) As Long
Oter = Op1 - op2
End Function

Exemple 1 : Le code de la DLL.

Nous retrouvons ici le source de nos deux fonctions Ajouter et Oter, ces fonctions sont déclarés "public" afin que les programmes appelants puissent les "voir".
Si nous les avions déclarés "private", elles ne serait pas visible depuis les programmes appelants, se sont alors des fonctions internes à la DLL qui sont par exemple utilisées par les fonctions "public"

 

3 - Le code de notre programme appelant.

Remplacer le code du premier programme par celui-ci

Puis saisissez le code suivant :

Private MesFonctions As Class1

Private Sub Command1_Click()
Set MesFonctions = New Class1
Text3.Text = MesFonctions.ajouter(CLng(Text1.Text), CLng(Text2.Text))
Set MesFonctions = Nothing
End Sub

Private Sub Command2_Click()
Set MesFonctions = New Class1
Text3.Text = MesFonctions.oter(CLng(Text1.Text), CLng(Text2.Text))
Set MesFonctions = Nothing
End Sub

Depuis votre projet EXE aller dans le Menu Projet-Références sélectionner (cocher) votre DLL dans la liste pour la référencer dans votre projet (noter au passage que de nombreuse DLL sont ici accessible comme Microsoft Excel, Word, DAO pour les accés bases de données ...).

Si votre Dll n'apparait pas dans la liste compilez-la (file-make MaDll.dll)

Lancez le programme, le resultat est le même que dans l'exemple initial, mais les fonctions sont en DLL, elle sont donc réutilisable à souhait et cela apporte des gains enorme dans les développements (ecrire une fois, utiliser dans plusieurs programmes).

Autre avantage et de taille :

Set MesFonctions = Nothing

Cette instruction libère la mémoire réservée par la DLL ainsi vous verrez la taille de votre exécutable fondre mais aussi la place mémoire occupée par le programme.