起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 329|回复: 9

事件列表已经锁定,不允许修改、调用?**

[复制链接]
发表于 2007-1-26 10:17:54 | 显示全部楼层 |阅读模式
搜索了一个帖子,但是没有答案。
地址为:http://bbs.justep.com/forum.php? ... 1%BE%AD%CB%F8%B6%A8


我是在一个数据集aftercommit事件中更新另一个数据集时报的错。
图片如下:

1.jpg

11.36 KB, 下载次数: 171

回复

使用道具 举报

发表于 2007-1-26 11:53:35 | 显示全部楼层
这个错误目前从你的描述中很难定位,请楼主提供更多的信息,例如是在执行什么操错时报的?是标准数据集还是存储过程等等

如果可以,请提供一个再现例子
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-26 13:35:59 | 显示全部楼层
在一个标准数据集(A)的aftercommit事件中编写提交另一个数据集(B),代码:
Aaftercommit(DataSet: TDataSet);
var
  str:string;
begin
  with B do
  begin
    str:=TSelectSystemUnit.GetWorkcontent(B.fieldbyname('guid').asstring);
    if str<>fieldbyname('workcontent').asstring then
    begin
     edit;//另一个地方,这句也报错
    fieldbyname('workcontent').asstring:=str;
    applyUpdates;//这句报错
    end;
  end;
end
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-26 14:55:49 | 显示全部楼层
这个错误是平台报的,应该能知道在那些情况下会报这个错误吧。可以说说哪些情况下会报该错误嘛。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-26 17:24:40 | 显示全部楼层
我顶
回复 支持 反对

使用道具 举报

发表于 2007-1-29 09:38:32 | 显示全部楼层
问:这个功能是在流程里的么,出异常的时候代码是停在哪一行的?
  这个问题的原因是指有代码在不应该的时机去移除或增加事件列表去了。仅仅是以上的代码应该不会导致这种情况的(楼主可以做一个简单的例子试一下)。应该时还有别的地儿触发了其它的逻辑导致的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-29 14:25:51 | 显示全部楼层
to:SMP
   谢谢你的解答。
  这个功能没在流程里。有两处报此错误。出差时代码分别停在3楼两个红色代码处
回复 支持 反对

使用道具 举报

发表于 2007-1-29 17:15:16 | 显示全部楼层
这两处还触发了别的东西么?可以写个最简单能的例子试一下,看看用法有什么差别!没别的好办法了。
回复 支持 反对

使用道具 举报

发表于 2007-2-25 12:00:59 | 显示全部楼层
??
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-25 14:17:02 | 显示全部楼层
没别的好办法了
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-12-25 09:05 , Processed in 0.044751 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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