|
A készítés módja a következő:
A File - New menüpont után válasszuk a Service Application tételt.
A létrejövő alkalmazásnál Form helyett egy DataModule-ra hasonlító ablak jelenik meg.
Mivel a szerviz alkalmazás akkor is futhat, amikor nincs is bejelentkezve felhasználó, így nincs is szüksége induláshoz olyan ablakra, mely megjelenik a képernyőn.
A létrejött TService típusú ablaknál hozzunk létre az OnExecute eseményhez egy eseménykezelőt. Amikor az alkalmazásunk elindul, akkor ez az esemény lesz meghívva.
Amikor az OnExecute eseménykezelőben befejezzük a munkát, akkor véget ér az alkalmazásunk futása. Ha olyan szervizt készítünk, melynek mindaddig futnia kell, amíg a számítógép be van kapcsolva, akkor itt egy "végtelen" ciklust kell létrehoznunk. A végtelen kifejezés azonban nem teljesen igaz: kell hagynunk egy kijáratot arra az esetre, ha például a felhasználó újra szeretné indítani a gépet. Ezért a ciklus állandóan vizsgálja a Terminated property értékét. Ha ez igazzá válik, akkor be kell fejeznünk a programunk futását, vagyis véget kell vetni a ciklus működésének.
A cikluson belül természetesen tetszőleges műveleteket végezhetünk. Azonban ahhoz, hogy az alkalmazásunk képes legyen feldolgozni a Windows-tól érkező üzeneteket, rendszeresen meg kell hívnunk a ServiceThread objektum ProcessRequests eljárását.
Az elkészített alkalmazást nem nekünk kell futtatni, ezt majd a Windows teszi meg. Nekünk csak annyi a teendőnk, hogy installáljuk programunkat. Ezt a program elvégzi önállóan, csupán annyi a teendőnk, hogy elindítjuk egyszer az alkalmazást az /install paraméterrel. Pl.: Service1.exe /install
Ezek után, ha megnézzük a rendszerbe telepített szerviz alkalmazásokat (Control Panel - Services), akkor ott már a miénk is láthatóvá válik. Hogy milyen néven, azt a TService modul DisplayName property-nél megadott sztringben határozhatjuk meg.
Ha egy szervizt szeretnénk eltávolítani a rendszerből, akkor indítsuk el a programot az /uninstall paraméterrel.
|