Delphi - DataModule kiegészítése egyedi funkciókkal és komponensekkel

forráskód letöltése
Próbált már Ön mondjuk egy TStatusBar komponenst elhelyezni egy TDataModule-on és rajta tetszőleges információkat megjeleníteni? Próbálja ki, de ha esetleg nem sikerülne, kérjük tekintse meg a mellékelt példaprogramot.

A példa egyszerűségének kedvéért csupán azt írjuk ki a TStatusBar-ra, hogy hány darab TTable típusú komponenst helyezett el a TDataModule-on. Ez a szám automatikusan változik, amint feltesz egy új TTable komponenst, vagy esetleg levesz egyet.

A komponens persze egyszerűen továbbfejleszthető és akármilyen információ megjeleníthető rajta. Például, hogy hány tábla aktív, melyik adatbázis mekkora helyet foglal aktuálisan a merevlemezen, stb.

Mivel a TDataModule csak fejlesztési időben látható, így természetesen a kiegészítése tetszőleges információkkal csak a fejlesztőknek szólhatnak, de ezek igen hasznos információk is lehetnek. A mellékelt példaprogram megnyitása előtt a DataModuleExtension.pas-ban lévő komponenst telepítenie kell a Delphi alá.

A példa kipróbálásához nyissa meg a mellékelt példaprogramban a DataModule1-t, majd a DataModuleExtension1 komponensnél az Active property-t állítsa igazra.

Ekkor megjelenik egy TStatusBar komponens a TDataModule alján. Ezen pedig egy számláló látható, mely tájékoztat arról, hogy hány darab TTable komponens található a modulban.

Ez a szám persze dinamikusan változik, ha felveszünk, vagy törlünk egy-egy TTable-t.

Amikor az Active property-t igazra állítjuk, akkor fut a SetActive eljárás. Itt egy ciklus segítségével megkeressük azt az ablakot, melyre elhelyezhetjük a TStatusBar komponenst.

Ezen megjelenítendő információt a GetTableCount függvényünk szolgáltatja. Itt két egymásba ágyazott ciklus segítségével megszámláljuk a TDataModule-ra helyezett TTable komponensek számát.

A szám aktualizálását a Notification eljárásnál végezzük. Ezt a Delphi automatikusan hívja, amikor egy új komponens felkerül a TDataModule-ra, vagy amikor törlünk egyet.