|
紧急求助,我的需要本质上是: 在一个完全与流程A无关的功能里,根据我的业务数据,控制流程A(不仅是启动,还可能是流转,回退).
假如我知道了流程A一个实例的当前任务是"AE92B76439434F20BC9E9CBB8521DD7C",也知道了该任务的一条消息"1A55300A062043628E95205A98438294",
我该如何构造工作流的上下文信息(Context),并如何使用相关类,来实现我的目的?
下面是我的测试代码:
procedure TFRM_BXDCX.Button1Click(Sender: TObject);
var
tpFC: TFlowControl;
tpList:Tlist;
tpTask:Business.Model.Flow.TTask;
tpTask2:TTask;
tpEngine:TFlowEngine;
tpContext:TContext;
tpMessage:Business.Model.Flow.TTaskMessage;
tpOrgUrl:TBizUrl;
begin
tpList:=Tlist.Create;
try
tpEngine:=TFlowEngine.Create;
tpTask:=Business.Model.Flow.TTask.Create;
tpEngine.LoadTask('AE92B76439434F20BC9E9CBB8521DD7C',tpTask);
tpMessage:=tpTask.TaskMessages.FindTaskMessage('1A55300A062043628E95205A98438294');
tpTask.TaskMessages.Add(tpMessage);
tpList.Add(tpTask);
tpTask2 := TaskLib.TTask.Create;
tpTask2.Assign(tpTask);
tpContext := TaskLib.TTaskServices.FindTaskRunContext(Context,tpTask2,tpTask2.TaskMessages[0]);
tpFC := TFlowControl.Create(tpContext);
try
tpOrgUrl:=TBizUrl.Create;
tpOrgUrl.URL:='Biz:ROOTJYGS.OGNFZGHB.DPTBMJL.PTMFZGHBZ.PSM';
tpFC.Executor:=TOrgURL.Create(tpOrgUrl);
tpFC.InitializationByTask(tpTask);
tpFC.FlowOut(tpList);
finally
tpFC.Free;
end;
finally
tpList.Free();
end;
end;
目前的测试代码报错如图所示!
|
-
-
r.jpg
94.01 KB, 下载次数: 419
|