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
-187-

Registriert seit: 24. Sep 2005
483 Beiträge
 
Delphi 2010 Architect
 
#1

AW: Service & on Execute

  Alt 3. Mai 2011, 09:56
Ich glaube du gehst da zu kompliziert dran. Platziere doch mal den TTimer auf deiner Form. Folgende Einstellungen sind nötig (OI oder Form Create)

Timer1.Enabled:=True;
Timer1.Interval:=1000;

im OnTimer Ereignis schreibst du jetzt ShowMessage('jede sekunde kommt diese Nachricht');

  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Service & on Execute

  Alt 3. Mai 2011, 09:58
ShowMessage in einem Service ist aber nicht die beste Idee
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
-187-

Registriert seit: 24. Sep 2005
483 Beiträge
 
Delphi 2010 Architect
 
#3

AW: Service & on Execute

  Alt 3. Mai 2011, 10:00
Ich wollte auch nicht sein Problem lösen, sondern zeigen wie einfach TTimer funktioniert Der Rest sollte alleine zu schaffen sein.
  Mit Zitat antworten Zitat
value is NULL

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

AW: Service & on Execute

  Alt 3. Mai 2011, 10:11
im prinzip schaut das ja gut aus, aber ich verstehe nicht wie ich das im code verwende, sprich welche uses ich dazu benötige
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Service & on Execute

  Alt 3. Mai 2011, 10:12
TTimer ist in ExtCtrls deklariert.
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
-187-

Registriert seit: 24. Sep 2005
483 Beiträge
 
Delphi 2010 Architect
 
#6

AW: Service & on Execute

  Alt 3. Mai 2011, 10:14
Wenn du die Komponente auf die Form ziehst wird die Uses Clause automatisch erweitert.
Ansonsten kannst du auch manuell "ExtCtrls" einbinden und den Timer zur Laufzeit erstellen.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Service & on Execute

  Alt 3. Mai 2011, 10:22
Wenn du die Komponente auf die Form ziehst wird die Uses Clause automatisch erweitert.
Nicht ganz, erst beim Kompilieren (zumindest bei mir).
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
 
#8

AW: Service & on Execute

  Alt 3. Mai 2011, 10:30
Danke für die Antwort das klingt ja schon mal gut!!!

habe jetzt bei dem ServiceStart Event folgendes gemacht:

Delphi-Quellcode:
procedure Ttest.ServiceStart(Sender: TService; var Started: Boolean);
begin
  //Create LOGFILE
  createlog('test','C:\Temp');
  test_time.Create(nil);
  test_time.Enabled := True;
  test_time.Interval := 60000;
end;
Im on Execute habe ich jetzt folgendes:

Delphi-Quellcode:
procedure Ttest.ServiceExecute(Sender: TService);
begin
  while not terminated do
  begin
      if test_time.OnTimer = onTimer then begin
        // DO IT
      end;
  end;
end;
NATÜRLICH bekomme ich da einen Fehler, was habe ich falsch gemacht?
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

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

AW: Service & on Execute

  Alt 3. Mai 2011, 10:15
Dein Dienst hat auch so was wie eine Form (weiß und man kann die Hintergrundfarbe nicht anpassen). Da ziehst du den Timer aus der Komponentenleiste drauf. Der ist übrigens unter System (der erste Eintrag). Um die USES brauchst du dich nicht zu kümmern, das macht Delphi selbst. Dann noch ein paar Einstellungen (wie beschrieben) tätigen und - ganz wichtig - die Ereignisprozedur anlegen (entweder durch Doppelklick auf den Timer oder ... (du weißt schon). -> Fertig

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  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 00:29 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