Einzelnen Beitrag anzeigen

Der schöne Günther

Registriert seit: 6. Mär 2013
6.114 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Prüfen auf ITask.Status

  Alt 5. Jan 2021, 10:40
Was heißt "nicht auf Status zugreifen können"? Wenn er noch nicht gestartet wurde ist er entweder TTaskStatus.Created oder TTaskStatus.WaitingToRun .

"Warten bis der Task beendet ist" entspricht WaitFor(..) :


Delphi-Quellcode:
const
   runningStates = [TTaskStatus.Running, TTaskStatus.WaitingForChildren];
begin
   if Assigned(asyncRefreshTask) then
      begin
         asyncRefreshTask.Cancel();
         try
            if (asyncRefreshTask.Status in runningStates) then
               asyncRefreshTask.Wait(delayTimeMs);
         except
            // make a smug face
         end;
         asyncRefreshTask := nil;
      end;
end;
  Mit Zitat antworten Zitat