|
<< Click to Display Table of Contents >> Navigation: Forum > IWTimer - How to start the timer again? |
02-11-2021, 07:51 AM:
Hello.
I am using Intraweb 15.2.20.
If I stop the timer and then start it again, then the timer does not start counting from the beginning, but ends the time that was not finished before the last stop.
IWTimer1.Enabled := false;
IWTimer1.Enabled := true;
// after assigning a value Enabled := true event OnAsyncTimer will occur in the interval 0.. IWTimer1.Interval
I tried like this:
IWTimer1.Enabled := false;
IWTimer1.Interval := 5000;
IWTimer1.Enabled := true;
However, that does not work either. The first actuation of the timer after these commands can be less than 5 seconds.
Is there a command to start the timer from the beginning?
02-11-2021, 08:35 PM:
I'll run some tests and let you know ASAP
02-13-2021, 11:10 AM:
the issue here is that when you do this:
Code:
procedure TIWForm1.IWEdit1AsyncKeyDown(Sender: TObject;
EventParams: TStringList);
begin
StartTime := Now;
IWTimer1.Enabled := false;
IWTimer1.Enabled := true;
laStartTime.Caption := TimeToStr(StartTime);
end;
you are not actually disabling and enabling the timer. The state actually didn't change so it keeps running.
I'm doing a little modification to our code to reset the timer in such a scenario. Stay tuned for a new update.
Cheers
02-14-2021, 08:30 PM:
Please update to 15.2.24. It should be working according to your expectations now.
Cheers