Kako stvoriti i koristiti DLL datoteke u Delphiju

Biblioteka dinamičkih veza (DLL) zbirka je rutina (malih programa) koje može pozvati aplikacije i druge DLL datoteke. Kao i jedinice, oni sadrže kôd ili resurse koji se mogu dijeliti na više njih aplikacija.

Koncept DLL-ova jezgra je arhitektonskog dizajna Windowsa, a većim dijelom Windows je jednostavno kolekcija DLL-ova.

Pomoću Delphija možete pisati i koristiti vlastite DLL-ove, pa čak i pozivati ​​funkcije, bez obzira jesu li razvijeni s drugim sustavima ili programerima, poput Visual Basic, ili C / C ++.

Stvaranje biblioteke dinamičkih veza

Sljedećih nekoliko redaka pokazat će kako stvoriti jednostavan DLL pomoću Delphija.

Za početak pokrenite Delphi i idite na Datoteka> Novo> DLL za izgradnju novog DLL predloška. Odaberite zadani tekst i zamijenite ga s ovim:

knjižnica TestLibrary;

namjene SysUtils, klase, dijalozi;

postupak DllMessage; izvoz;početi

 ShowMessage ('Pozdrav svijetu iz Delphi DLL-a');

kraj;

izvoz DllMessage;

beginend. 

Ako pogledate na datoteku projekta bilo koje Delphi aplikacije vidjet ćete da započinje rezerviranom riječju

instagram viewer
program. Suprotno tome, DLL datoteke uvijek počinju knjižnica a zatim a namjene klauzula za sve jedinice. U ovom primjeru DllMessage Slijedi postupak, koji ne radi ništa, ali pokazuje jednostavnu poruku.

Na kraju izvornog koda je an izvoz Izjava u kojoj se navode rutine koje su zapravo izvezene iz DLL-a na način da ih druga aplikacija može nazvati. To znači da možete imati, recimo, pet postupaka u DLL-u i samo dva (navedena u izvoz odjeljak) može se pozvati iz vanjskog programa (preostala tri su "pod-procedure").

Da bismo koristili ovaj DLL, moramo ga sastaviti pritiskom Ctrl + F9. Ovo bi trebalo stvoriti DLL pod nazivom SimpleMessageDLL.DLL u mapi projekata.

Za kraj, pogledajmo kako nazvati DllMessage postupak iz statički učitane DLL.

Za uvoz postupka koji se nalazi u DLL-u možete upotrijebiti ključnu riječ vanjski u deklaraciji o postupku. Na primjer, s obzirom na gore prikazan postupak DllMessage, deklaracija u aplikaciji za pozivanje izgledala bi ovako:

postupak DllMessage; vanjski 'SimpleMessageDLL.dll' 

Stvarni poziv na postupak nije ništa drugo do:

 DllMessage; 

Cijeli kod za Delphi obrazac (naziv: Form1), s TButton (imenovan button1) koja poziva funkciju DLLMessage, izgleda ovako:

jedinica Cjelina 1;

sučelje


namjene

 Windows, Poruke, SysUtils, Varijante, Klase,

 Grafika, kontrole, obrasci, dijalozi, StdCtrls;


tip

 TForm1 = klasa (TForm)

 Gumb1: TButton;

postupak Gumb1Click (pošiljalac: TObject);privatna{Privatne izjave}javnost{Javne izjave}kraj;

var

 Form1: TForm1;


postupak DllMessage; vanjski 'SimpleMessageDLL.dll'

izvršenje


{$ R * .dfm}


postupak TForm1.Button1Click (Pošiljatelj: TObject);početi

 DllMessage;

kraj;

kraj.