Skip to content

Commit ce76023

Browse files
committed
ScheduledTasks fixed changing repeat interval on running task
1 parent ca47d8f commit ce76023

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

Quick.Threads.pas

+5-5
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
Author : Kike Pérez
88
Version : 1.4
99
Created : 09/03/2018
10-
Modified : 04/03/2019
10+
Modified : 31/07/2019
1111
1212
This file is part of QuickLib: https://github.com/exilon/QuickLib
1313
@@ -1315,7 +1315,7 @@ procedure TScheduledTask.RepeatEvery(aInterval: Integer; aTimeMeasure: TTimeMeas
13151315
fScheduleMode := TScheduleMode.smRepeatMode;
13161316
fTimeMeasure := aTimeMeasure;
13171317
fTimeInterval := aInterval;
1318-
if fStartDate = 0.0 then fStartDate := Now();
1318+
if fStartDate < Now() then fStartDate := Now();
13191319
fNextExecution := fStartDate;
13201320
fEnabled := True;
13211321
end;
@@ -1326,7 +1326,7 @@ procedure TScheduledTask.RepeatEvery(aInterval : Integer; aTimeMeasure : TTimeMe
13261326
fScheduleMode := TScheduleMode.smRepeatMode;
13271327
fTimeMeasure := aTimeMeasure;
13281328
fTimeInterval := aInterval;
1329-
if fStartDate = 0.0 then fStartDate := Now();
1329+
if fStartDate < Now() then fStartDate := Now();
13301330
fExpirationDate := aEndTime;
13311331
fNextExecution := fStartDate;
13321332
fEnabled := True;
@@ -1348,7 +1348,7 @@ procedure TScheduledTask.RepeatEvery(aInterval : Integer; aTimeMeasure : TTimeMe
13481348
fScheduleMode := TScheduleMode.smRepeatMode;
13491349
fTimeMeasure := aTimeMeasure;
13501350
fTimeInterval := aInterval;
1351-
if fStartDate = 0.0 then fStartDate := Now();
1351+
if fStartDate < Now() then fStartDate := Now();
13521352
fExpirationTimes := aRepeatTimes;
13531353
fNextExecution := fStartDate;
13541354
fEnabled := True;
@@ -1357,7 +1357,7 @@ procedure TScheduledTask.RepeatEvery(aInterval : Integer; aTimeMeasure : TTimeMe
13571357
procedure TScheduledTask.RunOnce;
13581358
begin
13591359
fScheduleMode := TScheduleMode.smRunOnce;
1360-
if fStartDate = 0.0 then fStartDate := Now();
1360+
if fStartDate < Now() then fStartDate := Now();
13611361
fNextExecution := fStartDate;
13621362
fEnabled := True;
13631363
end;

0 commit comments

Comments
 (0)