起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 407|回复: 13

【结】运行错误

[复制链接]
发表于 2009-11-13 09:04:29 | 显示全部楼层 |阅读模式
我在流程的一个功能环节上创建了一个AfterFlowOut事件,目的就是给该流程所对应的业务数据中的一个字段复制。
procedure TEVENTSOLVEFLOW.ProcUnitHKAfterFlowOut(Sender: TObject; Command: TFlowOutCommand);
var
lInfo: TInfo;
lsource: TBizDataSet;
begin
lInfo := (ObjectHelper.GetFieldValue(Command.FlowControl.Func.MainForm, 'InfoBroker1') as TInfoBroker).Info;
   lsource:=linfo.DataSetByID('dsEvent');
// lsource.Open;
   lsource.Edit;
   lsource.FieldByName('eventStatus').AsString := '已解决';
   lsource.Post;
   lsource.ApplyUpdates;
end;
这段代码初始化运行时,报错,错误如下图所示,并且程序指向了lsource.ApplyUpdates;这一句。
是不是在这个函数中无法写这段代码呢,我在ProcBeforeFlowFinish事件中写这段代码是没问题的。

qq2.png

6.82 KB, 下载次数: 219

回复

使用道具 举报

发表于 2009-11-13 09:10:21 | 显示全部楼层
你把代码写到功能窗体上的flowbroker的这个事件中看看呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-11-13 09:18:15 | 显示全部楼层
因为我的功能是继承于前一个功能,所以没有独立的功能窗体。
回复 支持 反对

使用道具 举报

发表于 2009-11-13 09:25:52 | 显示全部楼层
把 lsource.ApplyUpdates; 这句屏蔽掉。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-11-13 09:36:44 | 显示全部楼层
把这句屏蔽掉,果然就不报错了,但是查看数据库发现,eventStatus这个字段的值并没有写进去。
回复 支持 反对

使用道具 举报

发表于 2009-11-13 09:39:41 | 显示全部楼层
'dsEvent'这个数据集不是流程主表吗?
回复 支持 反对

使用道具 举报

发表于 2009-11-13 09:41:30 | 显示全部楼层
我用流程主表试的是写进去了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-11-13 09:50:53 | 显示全部楼层
是,是流程主表。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-11-13 09:54:49 | 显示全部楼层
但是没有写进去。
回复 支持 反对

使用道具 举报

发表于 2009-11-13 09:57:14 | 显示全部楼层
那应该是可以的,我又测试了修改丛表的数据也成功了。楼主再检查一下数据。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-14 03:10 , Processed in 0.051863 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表