AGB  ·  Datenschutz  ·  Impressum  







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

Eigenen Timer mittels OnIdle!?

Ein Thema von .chicken · begonnen am 30. Apr 2008 · letzter Beitrag vom 30. Apr 2008
Antwort Antwort
.chicken

Registriert seit: 5. Dez 2006
459 Beiträge
 
#1

Eigenen Timer mittels OnIdle!?

  Alt 30. Apr 2008, 08:43
Also ich wollte mir eine eigene Timerkomponente schreiben. Dazu wollte ich OnIdle benutzen. Ich könnte im Konstruktor des Timers nun einfach
Application.OnIdle := MeinIdleEvent; schreiben.
Wenn ich im Programm dann ein anderes IdleEvent benutzen will, geht das aber nicht. Hat wer eine Alternative zum OnIdle Event, bzw weiss wie ich ein eigenes für meine Klasse schreibe?

.ch!cken
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Eigenen Timer mittels OnIdle!?

  Alt 30. Apr 2008, 08:54
geht nicht? Die Lösung: Fehler beseitigen
Mal im ernst. Wenn wir nicht wissen was "geht nicht" bedeutet können wir dir nicht sagen was du falsch machst.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
.chicken

Registriert seit: 5. Dez 2006
459 Beiträge
 
#3

Re: Eigenen Timer mittels OnIdle!?

  Alt 30. Apr 2008, 08:57
Sorry, hätte mich präziser ausdrücken sollen ^^
Also ich habe die Klasse TMeinTimer. Jetzt rufe ich im Konstrutktor der Klasse folgendes auf:
Application.OnIdle := MeinIdleEvent; So, wenn jetzt der Benutzer aber in dem Programm, in dem er eine Instanz meines TMeinTimer erstellt, dem OnIdle eine neue Prozedur zuweist. Funktioniert der Timer nichtmehr.

Versteht ihr nun wo das Problem ist?
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Eigenen Timer mittels OnIdle!?

  Alt 30. Apr 2008, 09:00
die Lösung:
Packe in deine Kompponente ein TApplicationEvents und weise dem OnIdle des TApplicationEvents deine Methode zu.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
.chicken

Registriert seit: 5. Dez 2006
459 Beiträge
 
#5

Re: Eigenen Timer mittels OnIdle!?

  Alt 30. Apr 2008, 09:14
Ok, könnte es dann aber nicht Probleme geben wenn ich was in das OnIdle Event schreibe, wird das "normale" OnIdle Event, dass andere Benutzer vielleicht verwenden wollen, doch nichtmehr aufgerufen oder? Denn die Anwendung wird ja dann nichtmehr "Idle"?!
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Eigenen Timer mittels OnIdle!?

  Alt 30. Apr 2008, 09:21
Warum muss es unbedingt das OnIdle Event sein?
Was wenn man zwei deiner Timerkomponenten einbinden will?
Ich würde einen Timer über einen neuen Thread lösen.
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
.chicken

Registriert seit: 5. Dez 2006
459 Beiträge
 
#7

Re: Eigenen Timer mittels OnIdle!?

  Alt 30. Apr 2008, 09:31
Och Gott, Threads...die verwirren mich immer nur
Gibts nich noch ne andere Möglichkeit ^^

Also mit dem IdleEvent habe ich gerade schnell nen Timer geschrieben. Aber das Problem dass sie sich gegenseitig behindern ist natürlich schon blöd.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Eigenen Timer mittels OnIdle!?

  Alt 30. Apr 2008, 09:42
die behindern sich nicht wirklich selbst. Denn wenn das OnIDLE von TApplication ausgelöst wird, werden auch alle OnIDLEs von den TApplicationEvents aufgerufen.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
.chicken

Registriert seit: 5. Dez 2006
459 Beiträge
 
#9

Re: Eigenen Timer mittels OnIdle!?

  Alt 30. Apr 2008, 10:11
Ja, werden die dann alle nacheinander abgearbeitet und erst danach wird wieder ein OnIdle Event ausgelöst? Dann ist das doch kein Problem und kann so laufen oder?



Edit: Funktioniert alles, danke an alle
  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 18:03 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