
A példaprogram kipróbálásához az alábbi lépéseket kell megtennie:
1. Nyissa meg a FrameDLL.dpr project-et, és fordítsa le (Ctrl+F9)
2. Nyissa meg a Project1.drp project-et, és futtassa.
A megoldáshoz hozzunk létre egy DLL project-et, majd egy új Frame unit-ot. Készítsük el a Frame kódját. Lehetőleg olyan Frame-t készítsünk, amely önállóan képes működni, tehát a meghívó programból nem kell módosítani a komponensek property-jeit. Persze ez sem lehetetlen, két lehetőségi is van erre. Az első a Frame-t tartalmazó unit felhasználása a hívó programban. Ebben az esetben viszont nincs szükség DLL-re, tehát ezt el is vethetjük. A másik megoldás, hogy a Frame objektummal, hasonlóan az ablakokhoz, üzenetekkel kommunikálunk. Ehhez saját üzeneteket kell kidolgozni, és a Frame üzenetkezelő eljárását felülírni (WndProc). Az üzeneteket egy külön unit-ban érdemes megadni, amit azután publikálhatunk a DLL-el együtt.
A DLL-ben nem hozunk létre objektumot a Frame-ből, viszont azt lehetővé tesszük egy függvény segítségével, hogy a hívó alkalmazás bármennyi példányt létrehozhasson belőle.
Ez a függvény lesz a CreateFrame, amit exportálnunk kell ahhoz, hogy a hívó programok is láthassák. A függvény két paraméterrel rendelkezik:
AppHandle: THandle;
Ebben a paraméterben kell megadni az alkalmazás azonosítóját (Application.Handle). Erre a Frame létrehozásakor lesz szükség, ez lesz ugyanis a Create metódus paramétere, vagyis az Owner. Az Owner-nek kell gondoskodnia a létrehozott objektum felszabadításáról.
FrameParent: THandle;
Ebben a paraméterben kell megadnunk a Frame szülő objektumának leíróját, vagyis azt az objektumot, amin belül a Frame-t el akarjuk helyezni (pl. Form, Panel, stb.).
Fontos, hogy a Frame nevét töröljük (Name property), különben nem tudunk belőle több példányt is létrehozni. A nevet törölhetjük szerkesztési időben az Object Inspector-ban is, de megtehetjük futási időben az objektum létrehozásakor.
A CreateFrame függvény a létrehozott TFrame objektummal tér vissza. A TFrame osztály a Frame ős osztálya, ezért ezen keresztül nem fogjuk közvetlenül elérni a Frame-en létrehozott komponenseket és metódusokat.