function TMAINFORM.GetTaskContext(ATask: TTask): TContext;
var
i: Integer;
lTask: TaskLib.TTask;
begin
//需要在项目管理中引入 协同系统\任务\任务库
lTask := TaskLib.TTask.Create;
try
lTask.Assign(ATask);
for i:=0 to ATask.TaskMessages.Count-1 do
begin
//调用任务库中的静态函数FindTaskRunContext,用每一个任务消息查找环境
Result := TaskLib.TTaskServices.FindTaskRunContext(Context, lTask, lTask.TaskMessages);
if Assigned(Result) then
Break;
end;
if not Assigned(Result) then
Result := SystemCore.TSystemCore.Operator.Positions[0].Context;
finally
lTask := nil;
end;
end;