![]() |
AW: Service & on Execute
die idee ist ja recht cool und simpel aber wenn ich zB 5 Minuten warte bis ich wieder etwas tue, kann der Dienst nicht beendet werden. Hängt sich beim beenden jedes mal auf.
Jemand ne Idee? PS: das einzige was ich vor habe ist, das ich zyklisch einen gewissen ablauf (Datenbankabfragen etc.) durchführe und danach ein paar minuten warte bis zum nächsten durchlauf |
AW: Service & on Execute
Für regelmäßige Aufgaben gibt es in Windows die "geplanten Tasks".
-> siehe Systemsteuerung Das sind einfache Programm/Skripte welche nach Regeln aufgerufen werden. z.B. mach mal alle 5 Minuten... Das ist auch viel einfacher, als einen Dienst oder ähnliches hinzustellen. |
AW: Service & on Execute
nur das ich eine delphi console app als Service laufen lassen muss....
|
AW: Service & on Execute
Hier noch ein simpler Vorschlag
nimm deinen timer, im timer dann:
Delphi-Quellcode:
Gruss alfold
Procedure Timer
begin inc(a); end; procedure Ttest.ServiceExecute(Sender: TService); begin while not terminated do begin if a >= 10 then begin Beep; //Oder ruf hier DEINE Methode auf a:= 0; end; end; end; |
AW: Service & on Execute
ach sch*** jetzt blick ich mich nicht durch...
kannst du mir das erklären damit ich das verstehe´?! :( |
AW: Service & on Execute
Wenn der Timer feuert, wird a um 1 erhöht. Hat a die 10 erreicht oder überschritten, wird ein Ton ausgegeben und a wieder auf 0 gesetzt, das Spiel beginnt also von vorn.
|
AW: Service & on Execute
ja aber wann wird er hier erhöht?
Delphi-Quellcode:
müsste man hiern icht irgendwo a := a + 1 einbauen?
procedure Ttest.ServiceExecute(Sender: TService);
begin while not terminated do begin if a >= 10 then begin Beep; //Oder ruf hier DEINE Methode auf a:= 0; end; end; end; |
AW: Service & on Execute
Zitat:
Delphi-Quellcode:
procedure Ttest.ServiceExecute(Sender: TService);
var c: Integer; begin c:= 0; while not terminated do begin inc(c); if c:= 60 then begin // ruf hier DEINE Methode auf c:= 0; end; Sleep(1000); end; end; |
AW: Service & on Execute
Nein zurückgesetzt!
Wenn der Timerinteval auf 1000 gleich (1sec) steht, wird jede sec a um 1 erhöht. (inc(a) entspricht a:=a+1;) Ergo wird ca alle 10 sec der beep ausgelöst oder das was du da machen willst. Dann wird a wieder auf 0 gesetzt. Nun dauert es wieder 10 sec und das spiel beginnt von vorn! Hat @DeddyH doch geschrieben , oder war es nicht verständlich:gruebel: Wenn es so ist, dann fehlen Dir aber die elementarsten Grundlagen. Gruss alfold |
AW: Service & on Execute
Da man einen Dienst nicht debuggen kann, würde ich mal empfehlen, zuerst eine Anwendung (mit graphischer Oberfläche) zu erstellen und dann mal alles zu implementieren, was du brauchst. Dann kannst du immer noch und ganz einfach alles in den Dienst reinkopieren und da du dir ja vorher sicher warst, dass es geht, geht es auch hinterher.
Zitat:
Bernhard |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz