Delphi - Form elhelyezése és használata DLL-ből

forráskód letöltése
Mellékelt példában egy Form-ot egy DLL-be helyezünk el, majd onnan hívjuk meg és a visszatérési értékét lekérdezve folytatjuk a program futását. Mellékelt példában egy Form-ot egy DLL-be helyezünk el, majd onnan hívjuk meg és a visszatérési értékét lekérdezve folytatjuk a program futását.


Ehhez elsőször is el kell készíteni a DLL-t, így először tekintsük át azt.

A File/New menüpont választása után a megjelenő ablakban válasszuk a DLL tételt. Ekkor egy olyan project jön létre, melynek fordításakor nem EXE, hanem DLL típusú kód generálódik, melyet felhasználhatunk bármely alkalmazásból.

Ezek után ugyanúgy dolgozhatunk a Form-al, mintha hagyományos EXE-t készítenénk.

Szükségünk lesz egy függvényre, melyben létrehozzuk és megjelenítjük a Form-ot.

Ennek a függvénynek a hívási módját stdcall-ra kell választanunk, hogy DLL-en kívül is elérhessük.

Fordítás előtt csupán annyi teendőnk van, hogy Project Source-ben exportáljuk e fenti függvényt.

A teendő csak annyi, hogy az exports kulcsszó után felsoroljuk a függvények nevét, melyeket a DLL-en kívülről is szeretnénk elérni. Jelen példában csak egy ilyen van, így itt csak ezt kell megadni.

Fordítás után létrejön a DLL. Ezt helyezzük olyan helyre, hogy az EXE megtalálhassa. Windows, vagy annak a System könyvtára, vagy a kijelölt elérési útvonal (PATH), illetve az adott EXE könyvtára.

Nézzük most az EXE-t. Itt deklarálnunk kell szintén ezt a függvényt, méghozzá külsőként (external) megadva annak az állománynak a nevét, ahol megtalálható.

Ettől kezdve használata olyan, mintha az egész függvény abban a unit-ban lenne, mint amelyiket éppen írjuk.