IWTimer - How to start the timer again?

<< Click to Display Table of Contents >>

Navigation:  Forum >

IWTimer - How to start the timer again?

Forum link

 


 

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