Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Windows servisi u Delfiju

[es] :: Pascal / Delphi / Kylix :: Windows servisi u Delfiju

[ Pregleda: 2620 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

broker

Član broj: 2415
Poruke: 8514
212.62.59.*



+11 Profil

icon Windows servisi u Delfiju21.09.2005. u 10:51 - pre 226 meseci
Moze li neko da mi preporuci literaturu vezanu za pisanje Windows servisa? Za jedan progfram bi mi odgovaralo da ga tako napravim, ali nikako da nadjem korisnu literaturu na tu temu.
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: Windows servisi u Delfiju21.09.2005. u 11:33 - pre 226 meseci
Pa, ne treba ti literatura... ako hoces da napravis service app samo odes na File->New->Other...->Service Application. Wizard ti sve lepo napravi, na tebi je samo da postavis evente i napravis sta zelis da tvoj program radi. Odmah da ti kazem, service app ne moze da komunicira sa korisnikom, bar nikako nisam uspeo da je nateram, aposle sam video da i druge aplikacije koriste klijent program koji se povezuje na service i taj klijent ustvari predstavlja GUI.

Imas u Delphi Help lepo objasnjenje o servisima.
 
Odgovor na temu

broker

Član broj: 2415
Poruke: 8514
212.62.59.*



+11 Profil

icon Re: Windows servisi u Delfiju21.09.2005. u 12:09 - pre 226 meseci
Ma napravio sam to, i to radi (mislim, program en puca, moze sse instalriati i deinstalriati kao servis i slicno.. ali nikako da provalim kako da mu povezem neki interfejs za podesavanje i pracenje rada apliakcije, osim da pravim sam neki protokol pa da upravljam iz eksterne aplikacije a i debug ovakve apliakciej je izgleda prilicno komplikovan.

Vidjao sam program koji rade kao standardna apliakciajkada ih pokrenes na uobicajeninacin, a rade kao servis ako ih pokrenes kao servis.. tako nesto bi mi trebalo.
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: Windows servisi u Delfiju21.09.2005. u 12:23 - pre 226 meseci
To ce u Delphi-u da bude malo teze jer ako ubacis i Forms i SvcMgr unite u projekat promenljiva Application ce biti 2 puta deklarisana. forms ce je deklarisati kao TApplication, a SvcMgr kao TServiceApplication.

Mada... kad bolje razmislim to i moze da se uradi... SvcMgr.Application svakako kreira i koristi Forms.Application, samo ne znam kako bi se saznalo da li je win pokrenuo program kao servis ili je korisnik pokrenuo normalno program.

[Ovu poruku je menjao Srki_82 dana 21.09.2005. u 13:34 GMT+1]
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
*.bowneglobal.com.



+6 Profil

icon Re: Windows servisi u Delfiju21.09.2005. u 13:17 - pre 226 meseci
@broker
Servisi ne treba da komuniciraju direktno sa korisnikom - mislim da će u sledećim verzijama Windows-a to da bude onemogućeno. Servisima se upravlja na sledeći način:

- Osnovne operacije (start, stop, pause, itd) iz nekog SCP programa kao što je services MMC u Control Panel-u, ili net iz komandne linije

- Konfiguracija iz registry-ja

- Logging preko Event Log-a

- Izveštavanje o statusu: perfmon

Ako ti je potrebno neko složenije komuniciranje sa korisnikom, moraćeš da koristiš neki IPC mehanizam kao što su pipes ili sockets.

Inače, sasvim je moguće da napraviš program tako da se pokreće kao "normalna" aplikacija ako ga pokreneš direktno, a kao servis ako ga pokreneš preko SCM-a, ali ne znam kako se to radi u Delphi-ju :)
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: Windows servisi u Delfiju21.09.2005. u 13:45 - pre 226 meseci
Malo sam gledao SvCom unit i tek sad vidim kako je lako napraviti exe da radi i kao stand alone aplikacija i kao service
Sve sto treba da uradis je ovo
Code:

program Servis;

uses
  Forms,
  SvCom_NTService,
  Unit1 in 'Unit1.pas' {Service1: TService},
  Unit2 in 'Unit2.pas' {Form1};

{$R *.RES}

begin
  Application.Initialize;
  Application.CreateForm(TService1, Service1);
  Application.CreateForm(TForm1, Form1);
  Forms.Application.ShowMainForm := True;
  Application.Run;
end.

Ako exe detektuje da ga je pokrenuo Service Manager ili je pokrenut sa /install ili /uninstall parametrima pokrenuce se kao servis, a ako detektuje da je obican korisnik pokrenuo program radice kao obican program

Probano i radi 100%

[Ovu poruku je menjao Srki_82 dana 21.09.2005. u 15:18 GMT+1]
 
Odgovor na temu

broker

Član broj: 2415
Poruke: 8514
212.62.59.*



+11 Profil

icon Re: Windows servisi u Delfiju21.09.2005. u 14:39 - pre 226 meseci
Hvala Srdjane, probacu ovo.

Nego evo jedan tutorijal koji sam nasao a koji dosta moze dapomogne na pocetku:
http://finn.mobilixnet.dk/delphi/service/service.htm
 
Odgovor na temu

broker

Član broj: 2415
Poruke: 8514
212.62.59.*



+11 Profil

icon Re: Windows servisi u Delfiju22.09.2005. u 10:04 - pre 226 meseci
Eh, Srdjane, ovo tvoje radi samo sa SvCom unit-om.

DragiTata, znam, i nisam ni planirao da aplikacija ima neki veliki korsinicki interfejs, nego sam zeleo da napravim formu u kojoj bih mogao da pratim log desavanja u aplikaciji, posto ne vidim drugi nacin da je debug-ujem.

Nameravam da napravim posebnu aplikaciju za podesavanje servisa koja bi sa servisom komunicirala preko TCP/IP tako da ne bi bilo ogranicenja da se mora nalaziti na istom racunaru kao i sam servis.

Posto ova ideja da servis startujem kao obicnu eplikaciju izgleda otpada, onda da preformulisem pitanje: Kako uopste da debug-ujem servis?

[Ovu poruku je menjao broker dana 22.09.2005. u 11:08 GMT+1]
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Windows servisi u Delfiju

[ Pregleda: 2620 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.