So erstellen und verwenden Sie DLLs in Delphi

Eine Dynamic Link Library (DLL) ist eine Sammlung von Routinen (kleinen Programmen), die von aufgerufen werden können Anwendungen und andere DLLs. Wie Einheiten enthalten sie Code oder Ressourcen, die von mehreren gemeinsam genutzt werden können Anwendungen.

Das Konzept der DLLs ist der Kern des Windows-Architekturdesigns, und Windows ist größtenteils einfach eine Sammlung von DLLs.

Mit Delphi können Sie Ihre eigenen DLLs schreiben und verwenden und sogar Funktionen aufrufen, unabhängig davon, ob sie mit anderen Systemen oder Entwicklern entwickelt wurden oder nicht Visual Basic, oder C / C ++.

Erstellen einer Dynamic Link Library

In den folgenden Zeilen wird gezeigt, wie Sie mit Delphi eine einfache DLL erstellen.

Starten Sie zunächst Delphi und navigieren Sie zu Datei> Neu> DLL um eine neue DLL-Vorlage zu erstellen. Wählen Sie den Standardtext aus und ersetzen Sie ihn durch folgenden:

Bibliothek TestLibrary;

Verwendet SysUtils, Klassen, Dialoge;

Verfahren DllMessage; Export;Start

 ShowMessage ('Hallo Welt aus einer Delphi-DLL');

Ende;

Exporte DllMessage;

beginnen. 

instagram viewer

Wenn Sie sich die ansehen Projektdatei Bei jeder Delphi-Anwendung wird angezeigt, dass sie mit dem reservierten Wort beginnt Programm. Im Gegensatz dazu beginnen DLLs immer mit Bibliothek und dann a Verwendet Klausel für alle Einheiten. In diesem Beispiel ist die DllMessage Es folgt eine Prozedur, die nichts anderes tut, als eine einfache Nachricht anzuzeigen.

Am Ende des Quellcodes steht ein Exporte Anweisung, die die Routinen auflistet, die tatsächlich aus der DLL exportiert werden, so dass sie von einer anderen Anwendung aufgerufen werden können. Dies bedeutet, dass Sie beispielsweise fünf Prozeduren in einer DLL haben können und nur zwei davon (aufgeführt in der Exporte Abschnitt) kann von einem externen Programm aufgerufen werden (die restlichen drei sind "Unterprozeduren").

Um diese DLL verwenden zu können, müssen wir sie durch Drücken von kompilieren Strg + F9. Dies sollte eine aufgerufene DLL erstellen SimpleMessageDLL.DLL in Ihrem Projektordner.

Schauen wir uns abschließend an, wie die DllMessage-Prozedur von einer statisch geladenen DLL aufgerufen wird.

Um eine in einer DLL enthaltene Prozedur zu importieren, können Sie das Schlüsselwort verwenden extern in der Verfahrenserklärung. In Anbetracht der oben gezeigten DllMessage-Prozedur würde die Deklaration in der aufrufenden Anwendung beispielsweise folgendermaßen aussehen:

Verfahren DllMessage; extern 'SimpleMessageDLL.dll' 

Der eigentliche Aufruf einer Prozedur ist nichts anderes als:

 DllMessage; 

Der gesamte Code für ein Delphi-Formular (Name: Form 1), mit einem TButton (benannt Knopf 1), das die DLLMessage-Funktion aufruft, sieht ungefähr so ​​aus:

Einheit Einheit 1;

Schnittstelle


Verwendet

 Windows, Nachrichten, SysUtils, Varianten, Klassen,

 Grafiken, Steuerelemente, Formulare, Dialoge, StdCtrls;


Art

 TForm1 = Klasse (TForm)

 Button1: TButton;

Verfahren Button1Click (Absender: TObject);Privat{Private Erklärungen}Öffentlichkeit{Öffentliche Erklärungen}Ende;

var

 Form1: TForm1;


Verfahren DllMessage; extern 'SimpleMessageDLL.dll'

Implementierung


{$ R * .dfm}


Verfahren TForm1.Button1Click (Absender: TObject);Start

 DllMessage;

Ende;

Ende.