AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Service & on Execute

Ein Thema von value is NULL · begonnen am 3. Mai 2011 · letzter Beitrag vom 4. Mai 2011
Antwort Antwort
alfold

Registriert seit: 29. Jun 2010
Ort: Neustrelitz
393 Beiträge
 
Delphi 7 Enterprise
 
#1

AW: Service & on Execute

  Alt 3. Mai 2011, 13:25
Hier noch ein simpler Vorschlag
nimm deinen timer, im timer dann:

Delphi-Quellcode:
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;
Gruss alfold
  Mit Zitat antworten Zitat
value is NULL

Registriert seit: 10. Sep 2010
249 Beiträge
 
#2

AW: Service & on Execute

  Alt 3. Mai 2011, 13:33
ach sch*** jetzt blick ich mich nicht durch...

kannst du mir das erklären damit ich das verstehe´?!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#3

AW: Service & on Execute

  Alt 3. Mai 2011, 13:35
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.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
value is NULL

Registriert seit: 10. Sep 2010
249 Beiträge
 
#4

AW: Service & on Execute

  Alt 3. Mai 2011, 13:44
ja aber wann wird er hier erhöht?

Delphi-Quellcode:
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;
müsste man hiern icht irgendwo a := a + 1 einbauen?
  Mit Zitat antworten Zitat
alfold

Registriert seit: 29. Jun 2010
Ort: Neustrelitz
393 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: Service & on Execute

  Alt 3. Mai 2011, 13:58
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

Wenn es so ist, dann fehlen Dir aber die elementarsten Grundlagen.

Gruss alfold
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#6

AW: Service & on Execute

  Alt 3. Mai 2011, 14:05
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.

nur das ich eine delphi console app als Service laufen lassen muss....
Eine Konsolenanwendung hat im Normalfall nichts mit einem Dienst gemeinsam. Man kann das ungefähr so vergleichen: Du hast eine Fenster-Anwendung (GUI/VCL), bei der du das Fenster nicht siehst. Das Fenster ist auch nicht in der Lage, Fenster-Nachrichten zu erhalten (SendMessage geht also nicht). So und dass das jetzt noch zum Dienst wird, läuft das unter einem anderen Benutzerkonto (im Normalfall SYSTEM) und mit dessen Rechten.

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
value is NULL

Registriert seit: 10. Sep 2010
249 Beiträge
 
#7

AW: Service & on Execute

  Alt 3. Mai 2011, 14:09
hm... naja meine fragen mögen blöd klingen, bin aber ein selbst lerner dh. ich hab das weder in der schule noch sonst wo gelernt.
Hab schon ziemlich viel gemacht mit datenbanken, xml usw usw. Einen Timer habe ich bis dato noch nie benötigt und einen Service schon gar nicht.

ich finde die Sleep Methode einfach aber wie gesagt beim stoppen bekomme ich dann immer, das der Dienst nicht beendet werden kann, warscheinlich weil er sich in der sleep phase befindet oder? Deswegen werde ich wohl um einen Timer nicht rum kommen oder?

ich verstehe das prinzip den Timer einzubauen, das ich jedoch nicht weiß ist, was ich den Timer bei ttest_timer.ontime := ???? mitgeben muss. das ist ja praktisch der moment an dem heruntergezählt wurde oder?
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#8

AW: Service & on Execute

  Alt 3. Mai 2011, 16:59
Da man einen Dienst nicht debuggen kann...
Wieso kann man einen Dienst nicht debuggen?

Start->Mit Prozess verbinden Prozess auswählen und los geht es!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:03 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