Timers not working
-
Hello, I have setup a timer to simulate cursor blinking. My program has multiple threads. the thing is that my timer went off but it never calls the function delegate to the Tick events. Do you what is reason? why the tick event nevers calls the function to do my blinking? private System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer(); timer.Tick += new EventHandler(BlinkMode); timer.Interval = 150; timer.Enabled = true; //============================================================= // timer tick handler //============================================================= private void BlinkMode(Object obj, EventArgs ea) { if (!BlinkCursor) { if (curX < 19) // Don't show the cursor if it's at the end of the line { DrawChar('_', curX, curY); // Draw an underscore char at the current coordinate BlinkCursor = true; } } else { DrawChar(HiddenChar, curX, curY); BlinkCursor = false; } } Donkaiser
-
Hello, I have setup a timer to simulate cursor blinking. My program has multiple threads. the thing is that my timer went off but it never calls the function delegate to the Tick events. Do you what is reason? why the tick event nevers calls the function to do my blinking? private System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer(); timer.Tick += new EventHandler(BlinkMode); timer.Interval = 150; timer.Enabled = true; //============================================================= // timer tick handler //============================================================= private void BlinkMode(Object obj, EventArgs ea) { if (!BlinkCursor) { if (curX < 19) // Don't show the cursor if it's at the end of the line { DrawChar('_', curX, curY); // Draw an underscore char at the current coordinate BlinkCursor = true; } } else { DrawChar(HiddenChar, curX, curY); BlinkCursor = false; } } Donkaiser
-
Hello, I have setup a timer to simulate cursor blinking. My program has multiple threads. the thing is that my timer went off but it never calls the function delegate to the Tick events. Do you what is reason? why the tick event nevers calls the function to do my blinking? private System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer(); timer.Tick += new EventHandler(BlinkMode); timer.Interval = 150; timer.Enabled = true; //============================================================= // timer tick handler //============================================================= private void BlinkMode(Object obj, EventArgs ea) { if (!BlinkCursor) { if (curX < 19) // Don't show the cursor if it's at the end of the line { DrawChar('_', curX, curY); // Draw an underscore char at the current coordinate BlinkCursor = true; } } else { DrawChar(HiddenChar, curX, curY); BlinkCursor = false; } } Donkaiser
-
Hello, I think when you are multi threading, you have to use System.Timers.Timer Class. With Timer.Elabsed Event. All the best, Martin
I just want to be more specific about what im doing. Im developping with CF 2.0 VS 2005 and C#. I have a class library which simulate a VT100 like terminal, and i added it as reference to my project. From my main project i call a method from that added class library. In this method, I process all the data that need to be printed on the terminal screen and then i set the timer like the code above which will trigger the BlinkMode method. while debugging, I can see that my timer went off but nothing from the BlinkMode() works. Donkaiser
-
I just want to be more specific about what im doing. Im developping with CF 2.0 VS 2005 and C#. I have a class library which simulate a VT100 like terminal, and i added it as reference to my project. From my main project i call a method from that added class library. In this method, I process all the data that need to be printed on the terminal screen and then i set the timer like the code above which will trigger the BlinkMode method. while debugging, I can see that my timer went off but nothing from the BlinkMode() works. Donkaiser
-
Hello, I have setup a timer to simulate cursor blinking. My program has multiple threads. the thing is that my timer went off but it never calls the function delegate to the Tick events. Do you what is reason? why the tick event nevers calls the function to do my blinking? private System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer(); timer.Tick += new EventHandler(BlinkMode); timer.Interval = 150; timer.Enabled = true; //============================================================= // timer tick handler //============================================================= private void BlinkMode(Object obj, EventArgs ea) { if (!BlinkCursor) { if (curX < 19) // Don't show the cursor if it's at the end of the line { DrawChar('_', curX, curY); // Draw an underscore char at the current coordinate BlinkCursor = true; } } else { DrawChar(HiddenChar, curX, curY); BlinkCursor = false; } } Donkaiser
Try to put your code in method BlinkMode in try catch. If you get an exception, then you have a problem with the other thread. Use this to avoid exception :
private void Blinking()
{
//... your code is here
}private void BlinkMode(Object obj, EventArgs ea)
{
MethodInvoker mi = new MethodInvoker(Blinking);
Invoke(mi);
} -
Try to put your code in method BlinkMode in try catch. If you get an exception, then you have a problem with the other thread. Use this to avoid exception :
private void Blinking()
{
//... your code is here
}private void BlinkMode(Object obj, EventArgs ea)
{
MethodInvoker mi = new MethodInvoker(Blinking);
Invoke(mi);
} -
well after the timer got fired, BlinkMode() never been called. that why it's weird. I see what you waant me to do but if the BlinkMode() never get called so do the Blinkinh(). Donkaiser
-
public void Blinking() //Is this the Method which is called from your main project? { //Have you tried to invoke this Method? Timer.Tick+=...... } private void BlinkMode(Object obj, EventArgs ea) { // }