Cum să creați și să folosiți DLL-uri în Delphi

click fraud protection

O bibliotecă de legături dinamice (DLL) este o colecție de rutine (programe mici) la care se poate apela aplicații și alte DLL-uri. Ca și unitățile, acestea conțin cod sau resurse care pot fi partajate între mai multe aplicații.

Conceptul de DLL-uri este nucleul proiectării arhitecturale Windows și, în cea mai mare parte, Windows este pur și simplu o colecție de DLL-uri.

Cu Delphi, puteți să scrieți și să folosiți propriile dvs. DLL și chiar să utilizați funcții, indiferent dacă au fost sau nu dezvoltate cu alte sisteme sau dezvoltatori, cum ar fi Visual Basic, sau C / C ++.

Crearea unei biblioteci de legături dinamice

Următoarele rânduri vor demonstra cum se creează un DLL simplu folosind Delphi.

Pentru început începeți Delphi și navigați la Fișier> Nou> DLL pentru a construi un nou șablon DLL. Selectați textul implicit și înlocuiți-l cu acesta:

bibliotecă BibliotecăTest;

utilizări SysUtils, clase, dialoguri;

procedură DllMessage; export;începe

 ShowMessage ('Hello world from a Delphi DLL');

Sfârșit;

exporturi DllMessage;

beginend. 

instagram viewer

Dacă te uiți la dosar de proiect pentru orice aplicație Delphi, veți vedea că începe cu cuvântul rezervat program. În schimb, DLL-urile încep întotdeauna cu bibliotecă iar apoi a utilizări clauza pentru orice unitate. În acest exemplu, DllMessage urmează procedura, care nu face altceva decât să arate un mesaj simplu.

La sfârșitul codului sursă este un an exporturi instrucțiune care listează rutinele care sunt exportate efectiv din DLL într-un mod în care pot fi apelate de o altă aplicație. Ceea ce înseamnă asta este că puteți avea, să spunem, cinci proceduri într-un DLL și doar două dintre ele (enumerate în exporturi secțiune) pot fi apelate dintr-un program extern (restul de trei sunt „sub-proceduri”).

Pentru a utiliza acest DLL, trebuie să-l compilăm apăsând Ctrl + F9. Acest lucru ar trebui să creeze un DLL numit SimpleMessageDLL.DLL în folderul proiectelor.

În cele din urmă, să aruncăm o privire la modul de a apela procedura DllMessage dintr-un DLL încărcat static.

Pentru a importa o procedură conținută într-un DLL, puteți utiliza cuvântul cheie extern în declarația de procedură. De exemplu, având în vedere procedura DllMessage prezentată mai sus, declarația din cererea de apel ar arăta astfel:

procedură DllMessage; extern 'SimpleMessageDLL.dll' 

Apelul efectiv la o procedură nu este altceva decât:

 DllMessage; 

Întregul cod pentru o formă Delphi (nume: Form1), cu un TButton (numit Button1) care apelează funcția DLLMessage, arată cam așa:

unitate Unitatea 1;

interfață


utilizări

 Windows, mesaje, SysUtils, variante, clase,

 Grafica, Controale, Formulare, Dialoguri, StdCtrls;


tip

 TForm1 = clasa (TForm)

 Buton1: TButton;

procedură Button1Click (Expeditor: TObject);privat{Declarații private}public{Declarații publice}Sfârșit;

var

 Form1: TForm1;


procedură DllMessage; extern 'SimpleMessageDLL.dll'

punerea în aplicare


{$ R * .dfm}


procedură TForm1.Button1Click (Expeditor: TObject);începe

 DllMessage;

Sfârșit;

Sfârșit. 

instagram story viewer