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
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#1

AW: Service & on Execute

  Alt 3. Mai 2011, 17:10
Du hast etliche Möglichkeiten, was gefällt Dir den nicht an dem Beispiel von Rollstuhlfahrer?
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
value is NULL

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

AW: Service & on Execute

  Alt 3. Mai 2011, 17:20
Nun ja soweit ich das probiert habe komme ich mit sleep nicht weiter. Ich muss praktisch ein sleep von 5 Minuten einbauen dh der dienst ist ja zu diesem Zeitpunkt, also wenn er sich im sleep befindet, nicht zu bedienen besser gesagt nicht zu stoppen.

Die timer variante dürfte anscheinend die beste sein nur fehlt mir hierzu das Verständnis! Schliesslich muss ich den timer ja in der on execute procedure abfragen und das verstehe ich nicht ganz.

Nur mal damit ich das verstehe:
• timer := ttimer.create(Nil)
• Timer.enanled := TRUE
• und die Milisekunden
Muss ich in der on Start procedure einbauen

Beim on execute muss ich dann bei
While not terminated das on time einbauen und dann in eine von mir definierte procedure übergehen oder?!

Wäre die Möglichkeit welche ich oben beschrieben habe nicht auch möglich oder belaste ich den CPU zu sehr wenn ich im on execute Event meine startzeit variable permanent mit der aktuellen zeit vergleiche?!

Lg
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.545 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Service & on Execute

  Alt 3. Mai 2011, 17:22
Nimm doch einfach eine globale Variable oder besser ein privates Feld Deines Dienstes und zähle es hoch. Du kannst dann sowohl aus dem Timer-Event als auch aus der Execute-Methode darauf zugreifen. Genau so wurde das in den Beispielen auch gemacht. Wo hapert es denn noch?
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, 17:37
OMG jetzt kapier ich's, dh das zu machende wird dann in der procedure zb timer1time also die, die angelegt wird wenn ich doppelt drauf klicke.

Das heisst im on execute steht eigentlich nur timer.ontime := angelegte pricedure??!!

Bitte sag das ich's kapiert habe
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.545 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Service & on Execute

  Alt 3. Mai 2011, 17:43
Wenn Du das per Objektinspektor machst, ist die Methode bereits dem Event zugewiesen. Eine händische Zuweisung ist normalerweise nur dann nötig, wenn man die Komponente erst zur Laufzeit erzeugt oder Methoden dynamisch (d.h. situationsabhängig) zuweisen möchte.
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
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.415 Beiträge
 
Delphi XE5 Professional
 
#6

AW: Service & on Execute

  Alt 3. Mai 2011, 17:52
Timer & Dienst keine gute Idee.
Wie wäre es mit Thread-Synchronistationstechniken.

z.B. mit waitevent und einen Timeout?
Bei beenden des Dienstes wird das Event geschickt, ansonsten lässt du das warten einfach in das Timeout laufen.
So kann der Thread/Service sofort beendet werden oder er läuft einfach weiter.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
value is NULL

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

AW: Service & on Execute

  Alt 3. Mai 2011, 17:53
@alfold

Unbeholfen bin ich nur in den dingen die ich noch nie gemacht habe! Ich habe ja vorhin gesagt das ich mir eigentlich das ganze selbst beibringe. Bis dato habe ich Konsolen apps gebastelt und viel mit XML und Datenbanken zu tun gehabt das geht schon ziemlich easy! Einen dienst habe ich bis dato noch nie erstellt, gut wenn das die Aufgabenstellung gewesen wäre dann hätte ich keinen thread eröffnen müssen den das schaffe ich auch so aber das das mit dem timer brauchte ich noch nie! Wenn ich soetwas ähnliches gebraucht habe, habe ich mir immer die aktuelle zeit ausgelesen, 5 Minuten adiert, und in einer while schleife die aktuelle zeit verglichen. ABER wenn ich das bei einem Service mache geht mir die Maschine in die knie!

Deswegen kommt es euch vielleicht so vor als ob ich euch nerven möchte aber ich Hab Delphi weser gelernt noch sonst was

Tut mir leid falls ich Unruhe in dieses Forum bringe
  Mit Zitat antworten Zitat
alfold

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

AW: Service & on Execute

  Alt 3. Mai 2011, 18:28
...Tut mir leid falls ich Unruhe in dieses Forum bringe
ne ist es ja nicht
Nur wenn ich lese was Du schon alles gemacht hast(Programiert hast) und dann stollperst du über einen simplen Timer, den man nur draufpacken muss und doppelcklick dadrauf schon steht die Procedure, den rest da rein schreiben fertig. Dies haben die meisten Komponenten so ansich, mh...

Egal, nun weist Du ja wie man es macht

Gruss alfold

Geändert von alfold ( 3. Mai 2011 um 18:31 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#9

AW: Service & on Execute

  Alt 3. Mai 2011, 17:28
Du musst gar nichts machen, hast Du Dir das Beispiel mal angeschaut, es ausprobiert?
Einfacher geht es kaum.
Der Timer liegt auf dem "Form"
Über Intervall im Objektinspektor legst Du die Millisekunden fest, nach denen der Timer selbsttätig die Methode aufruft die Du im Objektinspektor unter Ereignisse/OnTimer siehst.

Wenn Du einen neuen Timer drauflegst auf
Ereignisse/OnTimer doppelklicken und Du bist in der Quelltextansicht der neu erstellten Methode.

Hier schreibst Du das rein was jedesmal nach Ablauf des Timerintervalls passieren soll.....
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
alfold

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

AW: Service & on Execute

  Alt 3. Mai 2011, 17:41
@value is NULL : irgendwas macht mich stutzig
Habe mir mal ein paar anderen Post von Dir angschaut.
Also so unbeholfen kannst Du ja nicht sein, das Du nicht mit dieser simplen Aufgabe klar kommst. Oder wie soll man sonst dieses vertsehen 'Du weist nicht wie ein timer funct/ wo soll ich was hinschreiben' etc.

Hast du dafür ne Erklärung?
  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 07:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz