Announcement

Collapse
No announcement yet.

Deaktivierter Timer löst noch ein Ereignis aus !?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Deaktivierter Timer löst noch ein Ereignis aus !?

    Hallo,

    habe folgendes Problem :

    Deaktiviere einen Timer mittels eines "Click-Events". Trotzdem wird noch ein Timer-Event ausgelöst. Das tritt sowohl im Debug-Modus als auch beim Ausführen der compilierten EXE auf.
    Der Timer stammt übrigens von System.Timers und nicht von Windows.Forms.Timers.

    Überhaupt scheint beim Debuggen das deaktivieren eines Timers nicht zu funktionieren. In einem Timer-Event deaktiviere ich den auslösenden Timer und gehe im Einzelschritt-Modus weiter. Der Pfeil springt ssheinbar sinnlos in der Timer-Routine umher, was nach meinem Verständnis daran liegt, dass der Timer trotz Deaktivierung nach wie vor aus dem Hintergrund schießt.

    Hat jemand eine Erklärung oder einen Lösungsvorschlag ?

    (Besonders für Teil 1)

    Viele Grüsse Karsten !

  • #2
    Hallo,

    wie sieht ein kleines Beispiel aus, mit dem sich dieser Effekt jederzeit reproduzieren lässt? Im Gegensatz zu <i>System.Windows.Forms.Timer</i> wird <i>System.Timers.Timer</i> als asynchroner Timer in einem von der CLR abgeforderten Arbeits-Thread aus dem Thread-Pool ausgeführt.

    P.S: Um deartigen Problemen von vorn herein aus dem Weg zu gehen, hat MS ja <i>System.Windows.Forms.Timer</i> vorgesehen. Solange nicht die Methode <i>DoEvents</i> der <i>Application</i>-Klasse aufgerufen wird, unterbricht das Timer-Ereignis niemals den ausgeführten Code, da der <i>System.Windows.Forms.Timer</i> im primären Thread (GUI-Thread) der Anwendung ausgeführt wird

    Comment


    • #3
      Hallo,

      vielen Dank für den Hinweis ! Bei der Form geht das ohne weiteres. Bei meiner Klassenbibliothek habe ich das Problem wahrscheinlich anders in den Griff bekommen. Ich nutze nicht die Eigenschaft "Enabled" sondern die Methoden Start() und Stop(). Hätte ich auch gleich versuchen können. Mal sehen ob es das schon war.

      Viele Grüsse Karsten

      Comment

      Working...
      X