Delphi - Logo Form megjelenítése, amíg a program indul

forráskód letöltése
Nagyobb program indulásakor általában szükség van néhány másodpercre. Persze ez függ az adott gép sebességétől.

Ezt a néhány másodpercet viszont ki lehet használni úgy, hogy amíg a betöltési folyamat tart, megjelenítünk egy kis ablakot a képernyőn, ahol akár egy folyamatjelzőt is elhelyezhetünk (pl.: TProgressBar), hogy éppen hol is tart a betöltés pillanatnyilag. Nagyobb program indulásakor általában szükség van néhány másodpercre. Persze ez függ az adott gép sebességétől.

Ezt a néhány másodpercet viszont ki lehet használni úgy, hogy amíg a betöltési folyamat tart, megjelenítünk egy kis ablakot a képernyőn, ahol akár egy folyamatjelzőt is elhelyezhetünk (pl.: TProgressBar), hogy éppen hol is tart a betöltés pillanatnyilag.


Ehhez először is kell egy nagyobb alkalmazás, mert ha ilyen nincs, akkor olyan gyorsan elindulna a program, hogy az ablak amit megjelenítenénk, csupán felvillanna.

A mellékelt példában ezért létrehoztunk kilenc Form-ot, melyeknél létrehozáskor automatikusan felkerül 54 db TEdit komponens.

Hozzuk létre a betöltődés alatt megjeleníteni kívánt ablakot. Ezt a StartForm.pas-ban találja.
Erre tetszőleges komponenseket helyezhetünk el igény szerint. Állítsuk be úgy ezt a Form-ot, hogy mindig a képernyő közepén (Position:=poScreenCenter), valamint hogy minden ablak felett jelenjen meg (FormStyle:=fsStayOnTop), hogy a létrejövő ablakok ne takarják el. Végül tüntessük el ennek az ablaknak a fejlécét (BorderIcons:=[]; BorderStyle:=bsNone).

Még egy fontos teendőnk van ezzel az ablakkal. Ha a Delphi-ben létrehozunk egy Form-ot, akkor az automatikusan létrejön a program indulásakor. Most viszont arra lenne szükségünk, hogy ez ne történjen meg, mivel az ablakot akkor szeretnénk létrehozni és megjeleníteni, mikor a program betöltődési folyamata elkezdődik és amint ez véget ér, szeretnénk ez a Form-ot megszüntetni.

Ehhez ezt a Form-ot át kell raknunk a rendelkezésre álló Form-ok közé. Ennek a menete a következő:
- Project/Options menüpont
- Az "Autocreate forms" TListBox-ból tegyük át a StartForm-ot az "Avaliable forms" TListBox-ba.

Végső lépésként most már csak ennek a Form-nak a létrehozását és megszüntetését kell elvégeznünk.

Válasszuk a View/Project Source menüpontot. Ekkor megjelenik a Project-ünk forráskódja. Mivel ezt a Delphi automatikusan szerkeszti, így általában erre nincs is szükségünk.

Az itt található forráskód általában az alábbiak szerint néz ki:

Application.Initialize;
Application.CreateForm(TMainForm, MainForm);
Application.Run;


Ha több Form-unk is van, akkor a második sor alapján az összes létre lesz hozva, és csak utána kerül meghívásra a Run, mely ténylegesen elindítja a programot.

Mellékelt példában jól látható, hogy milyen kiegészítésekre van szükségünk, hogy a kívánt funkciót elérjük.

Ha így beleavatkozunk a Project Source-be, akkor keletkezik egy szépséghiba, mely a Delphi-nek egy mai napig nem javított hibája: ha ezek után megnézzük a Project/Options menüpont kiválasztásával kapott ablakot, azt látjuk, hogy szinte az összes Form átkerült a rendelkezésre állók közé. Ne ijedjünk meg ez nem így van, hanem csupán a Delphi nem tudja rendesen kiolvasni a megváltoztatott Project Source-ből. Ettől a programunk még ugyanúgy használható.

Ha ezek után bővítjük az alkalmazásunkat új Form-al, vagy törlünk belőlük, ne felejtsük el aktualizálni a Project Source-t.