A Dynamic Link Library (DLL) olyan rutinok (kis programok) gyűjteménye, amelyeket meghívhat alkalmazások és egyéb DLL-ek. Mint az egységek, kódot vagy erőforrásokat tartalmaznak, amelyek megoszthatók több között alkalmazásokat.
A DLL-ek fogalma a Windows építészeti tervezésének lényege, és a Windows nagyrészt egyszerűen egy DLL-gyűjtemény.
A Delphi segítségével saját DLL-eket írhat és használhat, és akár hívási funkciókat is lehet, függetlenül attól, hogy más rendszerekkel vagy fejlesztőkkel fejlesztették-e őket, például Visual Basicvagy C / C ++.
Dinamikus link könyvtár létrehozása
A következő néhány sor bemutatja, hogyan lehet Delphi segítségével létrehozni egy egyszerű DLL-t.
Az elején indítsa el a Delphit, és keresse meg a Fájl> Új> DLL új DLL sablon készítéséhez. Válassza ki az alapértelmezett szöveget, és cserélje le az alábbiakra:
könyvtár TestLibrary;
felhasználások SysUtils, osztályok, párbeszédek;
eljárás DllMessage; export;kezdődik
ShowMessage ('Hello world from Delphi DLL');
vég;
export DllMessage;
beginend.
Ha megnézed a projekt fájl bármely Delphi alkalmazás esetén látni fogja, hogy az a fenntartott szóval kezdődik program. Ezzel szemben a DLL-ek mindig kezdődik könyvtár majd a felhasználások záradék minden egységre. Ebben a példában a DllMessage Az eljárás követi, amely nem tesz semmit, csak egy egyszerű üzenetet mutat.
A forráskód végén egy export utasítás, amely felsorolja azokat a rutinokat, amelyeket ténylegesen exportálnak a DLL-ből oly módon, hogy egy másik alkalmazás meghívhatja őket. Ez azt jelenti, hogy mondhatunk öt eljárást a DLL-ben, és csak kettő közülük (a export szakasz) egy külső programból hívható meg (a fennmaradó három "alprogram").
A DLL használatához le kell állítanunk a megnyomásával Ctrl + F9. Ennek létre kell hoznia egy úgynevezett DLL-t SimpleMessageDLL.DLL a projekt mappájában.
Végül nézzük meg, hogyan lehet meghívni a DllMessage eljárást statikusan betöltött DLL-ből.
A DLL-ben szereplő eljárás importálásához használhatja a kulcsszót külső az eljárás nyilatkozatában. Például, tekintettel a fent bemutatott DllMessage eljárásra, a hívó alkalmazásban szereplő nyilatkozat a következőképpen néz ki:
eljárás DllMessage; külső 'SimpleMessageDLL.dll'
Az eljárás tényleges meghívása nem más, mint:
DllMessage;
A Delphi űrlap teljes kódja (név: Form1), TButtonnal (név alatt button1), amely meghívja a DLLMessage funkciót, így néz ki:
Mértékegység egység1;
felület
felhasználások
Windows, Üzenetek, SysUtils, Változatok, Osztályok,
Grafika, Vezérlők, Űrlapok, Párbeszédek, StdCtrls;
típus
TForm1 = osztály (TForm)
1. gomb: TB gomb;
eljárás Button1Click (Feladó: TObject);magán{Magánnyilatkozatok}nyilvános{Nyilvános nyilatkozatok}vég;
var
1. forma: TForm1;
eljárás DllMessage; külső 'SimpleMessageDLL.dll'
végrehajtás
{$ R * .dfm}
eljárás TForm1.Button1Click (Feladó: TObject);kezdődik
DllMessage;
vég;
vég.