起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 92|回复: 8

【结帖】[请求]流转触发OnChange 事件问题**

[复制链接]
发表于 2008-6-4 13:41:30 | 显示全部楼层 |阅读模式
流转后,为什么会出发 业务信息上的 OnChange 事件呢?
这么才能不让他触发呢?
回复

使用道具 举报

发表于 2008-6-4 13:53:35 | 显示全部楼层
业务信息上没有onchange事件啊。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-4 13:57:49 | 显示全部楼层
业务信息中的 表格文档,我做了个 DataEdit 的 onchange 事件,单独运行正常。走流程,每次流转后,又触发了次该事件。就出现错误了。
回复 支持 反对

使用道具 举报

发表于 2008-6-4 14:07:55 | 显示全部楼层
基于什么原因要在这个事件中处理代码?
回复 支持 反对

使用道具 举报

发表于 2008-6-4 14:12:09 | 显示全部楼层
要想实现不重复执行的话,可以在这个事件中加一个判断,根据某一个标记来决定 这个代码是否执行。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-4 14:12:37 | 显示全部楼层
选择年度,触发Label 上显示 该年度:
代码如下:

procedure TXMSB_FS.DataEditNDChange(Sender: TObject);     //选择年度 触发事件
begin
        if  DataEditND.Text<>'' then
            begin
            Label1.Caption:=  SysUtils.inttostr(SysUtils.StrToInt(DataEditND.Text)+1)+'年';
            Label2.Caption:=  SysUtils.inttostr(SysUtils.StrToInt(DataEditND.Text)+2)+'年';
            Label3.Caption:=  SysUtils.inttostr(SysUtils.StrToInt(DataEditND.Text)+3)+'年';
            Label4.Caption:=  SysUtils.inttostr(SysUtils.StrToInt(DataEditND.Text)+4)+'年';
            Label5.Caption:=  SysUtils.inttostr(SysUtils.StrToInt(DataEditND.Text)+5)+'年';
            Label15.Caption:= DataEditND.Text;
            end;
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-4 14:16:37 | 显示全部楼层
流传后
错误信息,断点聚焦在:   if  DataEditND.Text<>'' then  
DataEditND.Text  值 为空字符串
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-4 14:25:08 | 显示全部楼层
有一种解决方法:
  用 oncreare 事件 + OnExit 事件 取代  OnChange 事件

可以结贴了。
回复 支持 反对

使用道具 举报

发表于 2008-6-4 14:26:13 | 显示全部楼层
哦,好的,谢谢楼主反馈。
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-14 10:59 , Processed in 0.046238 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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