Ako vytvárať a používať DLL v Delphi

Knižnica dynamického prepojenia (DLL) je zbierka rutín (malé programy), ktoré môže vyvolať aplikácií a iných DLL. Podobne ako jednotky obsahujú kód alebo zdroje, ktoré je možné zdieľať medzi viacerými aplikácie.

Koncept DLL je jadrom architektonického dizajnu Windows a Windows je zväčša zbierka DLL.

S Delphi môžete písať a používať vlastné knižnice DLL a dokonca volať funkcie bez ohľadu na to, či boli vyvinuté s inými systémami alebo vývojármi, ako napríklad Visual Basicalebo C / C ++.

Vytvorenie knižnice dynamických odkazov

Nasledujúcich niekoľko riadkov ukáže, ako vytvoriť jednoduchý DLL pomocou Delphi.

Na začiatok začnite Delphi a prejdite na Súbor> Nový> DLL vytvoriť novú šablónu DLL. Vyberte predvolený text a nahraďte ho týmto:

knižnica TestLibrary;

použitie SysUtils, Classes, Dialogs;

procedúra DllMessage; export;začať

 ShowMessage („Ahoj svet z Delphi DLL“);

koniec;

vývoz DllMessage;

beginend. 

Ak sa pozriete na súbor projektu akejkoľvek aplikácie Delphi uvidíte, že začína rezervovaným slovom

instagram viewer
program. Naopak, DLL vždy začínajú knižnica a potom a použitie doložka pre všetky jednotky. V tomto príklade DllMessage Nasleduje postup, ktorý nerobí nič, iba ukazuje jednoduchú správu.

Na konci zdrojového kódu je vývoz vyhlásenie, ktoré uvádza rutiny, ktoré sa skutočne exportujú z knižnice DLL spôsobom, ktorý im môže zavolať iná aplikácia. To znamená, že môžete mať napríklad päť postupov v knižnici DLL a iba dva z nich (uvedené v zozname vývoz oddiel) je možné vyvolať z externého programu (zvyšné tri sú „čiastkové postupy“).

Aby sme mohli používať túto knižnicu DLL, musíme ju skompilovať stlačením Ctrl + F9. To by malo vytvoriť DLL s názvom SimpleMessageDLL.DLL v priečinku projekty.

Nakoniec sa pozrime, ako zavolať procedúru DllMessage zo staticky načítanej DLL.

Ak chcete importovať postup obsiahnutý v knižnici DLL, môžete použiť kľúčové slovo externý v colnom vyhlásení. Napríklad pri vyššie uvedenom postupe DllMessage by vyhlásenie vo volajúcej aplikácii vyzeralo takto:

procedúra DllMessage; externý 'SimpleMessageDLL.dll' 

Skutočná výzva na postup nie je nič iné ako:

 DllMessage; 

Celý kód formulára Delphi (názov: Form1), s TButton (pomenovaný Button1), ktorá volá funkciu DLLMessage, vyzerá asi takto:

jednotka Lekcia 1;

rozhranie


použitie

 Windows, Správy, SysUtils, Varianty, Triedy,

 Grafika, ovládacie prvky, formuláre, dialógové okná, StdCtrls;


typ

 TForm1 = trieda (TForm)

 Button1: TButton;

procedúra Button1Click (Sender: TObject);súkromné{Súkromné ​​vyhlásenia}verejnosť{Verejné vyhlásenia}koniec;

var

 Forma 1: TForm1;


procedúra DllMessage; externý 'SimpleMessageDLL.dll'

uskutočnenie


{$ R * .dfm}


procedúra TForm1.Button1Click (Sender: TObject);začať

 DllMessage;

koniec;

koniec.