|

楼主 |
发表于 2008-3-10 09:53:49
|
显示全部楼层
代码如下所显示
var
Feng: TFlowEngine;
fparam:TLoadFlowParam;
iquery: TQuery;
guid: string;
tparam: TLoadTaskParam;
begin
Feng:=TFlowEngine.Create(); //删除与本条业务数据相关的流程和任务数据
fparam:=TLoadFlowParam.Create();
tparam:=TLoadTaskParam.create();
iquery:=TQuery.Create(nil);
try
iquery.ConnectionString:=BizObjConsts.cSysDatabaseConnectionString;
iquery.CommandText:='select FFlowGuid from TFlowID where FID='''+DataSetBroker1.DataSet.FieldByName('MeetingID').AsString+'''';
//iquery.CommandText:='select FFlowGuid from TFlowID where FID='''+FlowBroker1.FlowControl.Flow.ID+'''';
iquery.Open;
guid:=iquery.FieldByName('FFLowGUID').AsString;
fparam.GUIDs.Add(guid);
tparam.FlowGUIDs.Add(guid);
Feng.DeleteFlows(fparam,tparam);
Feng.DeleteTasks(tparam);
finally
Feng.Free;
fparam.Free;
iquery.Free;
end;
我用在这里的目的是:
首先这是一个会议管理的功能,会议管理者向会议参加者发布会议任务消息,然后会议参加者反馈是否参加会议.这时可能有的人有别的原因不在公司不能参加会议,也不能反馈消息.当会议已经开完后之前给那些没有在公司的人发的通知参加会议的任务消息就成了冗余的消息了,这时就要删除那些人代办任务的消息.所以我就加上了上面的代码.但是一直会出现如上的错误. |
|