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
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.