Explorar el Código

[Quick.Threads.TScheduledTask] >> Added a method to get current schedule

[Quick.Threads.TScheduledTask] >> Added a method to get current schedule
Turrican hace 6 años
padre
commit
2f2c0a302e
Se han modificado 1 ficheros con 8 adiciones y 0 borrados
  1. 8 0
      Quick.Threads.pas

+ 8 - 0
Quick.Threads.pas

@@ -293,6 +293,7 @@ type
   TScheduledTask = class(TTask,IScheduledTask)
   private
     fName : string;
+    fcurrentschedule : TPair<Integer, TTimeMeasure>;
     fExecutionTimes : Integer;
     fScheduleMode : TScheduleMode;
     fTimeInterval : Integer;
@@ -308,10 +309,12 @@ type
     function CheckSchedule : Boolean;
     procedure DoExpire;
     function GetTaskName : string;
+    function GetCurrentSchedule: TPair<TTimeMeasure, Integer>;
   protected
     property ExpireWithSync : Boolean read fExpireWithSync write fExpireWithSync;
   public
     property Name : string read fName write fName;
+    property CurrentSchedule : TPair<TTimeMeasure, Integer> read GetCurrentSchedule;
     function OnException(aTaskProc : TTaskExceptionProc) : IScheduledTask; virtual;
     function OnException_Sync(aTaskProc : TTaskExceptionProc) : IScheduledTask; virtual;
     function OnTerminated(aTaskProc : TTaskProc) : IScheduledTask; virtual;
@@ -1434,6 +1437,11 @@ begin
   fEnabled := False;
 end;
 
+function TScheduledTask.GetCurrentSchedule: TPair<TTimeMeasure, Integer>;
+begin
+  Result := TPair<TTimeMeasure, Integer>.Create(fTimeMeasure, fTimeInterval);
+end;
+
 function TScheduledTask.GetTaskName: string;
 begin
   Result := fName;