Comment créer et utiliser des DLL dans Delphi

Une bibliothèque de liens dynamiques (DLL) est une collection de routines (petits programmes) qui peuvent être appelées par applications et autres DLL. Comme les unités, elles contiennent du code ou des ressources qui peuvent être partagées entre plusieurs applications.

Le concept de DLL est au cœur de la conception architecturale de Windows et, pour la plupart, Windows est simplement une collection de DLL.

Avec Delphi, vous pouvez écrire et utiliser vos propres DLL et même appeler des fonctions, qu'elles aient été développées ou non avec d'autres systèmes ou développeurs, comme Visual Basic, ou C / C ++.

Création d'une bibliothèque de liens dynamiques

Les quelques lignes suivantes montrent comment créer une DLL simple à l'aide de Delphi.

Pour commencer, lancez Delphi et accédez à Fichier> Nouveau> DLL pour créer un nouveau modèle de DLL. Sélectionnez le texte par défaut et remplacez-le par ceci:

bibliothèque TestLibrary;

les usages SysUtils, Classes, Dialogs;

procédure DllMessage; exportation;commencer
instagram viewer

 ShowMessage ('Bonjour tout le monde à partir d'une DLL Delphi');

fin;

exportations DllMessage;

début. 

Si vous regardez le dossier de projet de toute application Delphi, vous verrez qu'elle commence par le mot réservé programme. En revanche, les DLL commencent toujours par bibliothèque puis un les usages clause pour toutes les unités. Dans cet exemple, le DllMessage suit, qui ne fait rien mais affiche un message simple.

À la fin du code source se trouve un exportations qui répertorie les routines qui sont réellement exportées à partir de la DLL de manière à pouvoir être appelées par une autre application. Cela signifie que vous pouvez avoir, disons, cinq procédures dans une DLL et seulement deux d'entre elles (répertoriées dans le exportations peut être appelée à partir d'un programme externe (les trois autres sont des "sous-procédures").

Pour utiliser cette DLL, nous devons la compiler en appuyant sur Ctrl + F9. Cela devrait créer une DLL appelée SimpleMessageDLL.DLL dans votre dossier de projets.

Enfin, examinons comment appeler la procédure DllMessage à partir d'une DLL chargée statiquement.

Pour importer une procédure contenue dans une DLL, vous pouvez utiliser le mot clé externe dans la déclaration de procédure. Par exemple, étant donné la procédure DllMessage illustrée ci-dessus, la déclaration dans l'application appelante ressemblerait à ceci:

procédure DllMessage; externe 'SimpleMessageDLL.dll' 

L'appel réel à une procédure n'est rien de plus que:

 DllMessage; 

Le code complet d'un formulaire Delphi (nom: Formulaire 1), avec un TButton (nommé Button1) qui appelle la fonction DLLMessage, ressemble à ceci:

unité Unité 1;

interface


les usages

 Windows, Messages, SysUtils, Variants, Classes,

 Graphiques, contrôles, formulaires, boîtes de dialogue, StdCtrls;


type

 TForm1 = classe (TForm)

 Button1: TButton;

procédure Button1Click (Sender: TObject);privé{Déclarations privées}Publique{Déclarations publiques}fin;

var

 Form1: TForm1;


procédure DllMessage; externe 'SimpleMessageDLL.dll'

la mise en oeuvre


{$ R * .dfm}


procédure TForm1.Button1Click (expéditeur: TObject);commencer

 DllMessage;

fin;

fin. 

instagram story viewer