Foxtable(狐表)用户栏目专家坐堂 → [求助]MainTableChanged和CurrentTableChanged事件代码会执行两次?-确认是bug


  共有2584人关注过本帖树形打印复制链接

主题:[求助]MainTableChanged和CurrentTableChanged事件代码会执行两次?-确认是bug

帅哥哟,离线,有人找我吗?
shenyl0211
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
[求助]MainTableChanged和CurrentTableChanged事件代码会执行两次?-确认是bug  发帖心情 Post By:2019/11/3 12:39:00 [只看该作者]

一、测试代码
MainTableChanged中代码:
Select Case MainTable.Name
    Case  "合同管理"
        MessageBox.Show(1)
End Select

CurrentTableChanged中代码:

Select Case CurrentTable.Name
    Case  "合同管理"
        MessageBox.Show(2)
End Select
二、系统代码区别
在其他代码都不变的前提下:
A测试方案:在BeforeLoadOuterTable中加载所有65张表,启动完成之后进行上述表格切换,上述测试代码只执行一次;
B测试方案:在BeforeLoadOuterTable中加载3张表、在AfterOpenProject中加载剩余的62张表启动完成之后进行上述表格切换,上述测试代码会执行二次。

请问高手:同样是加载了全部表,只是加载方式不一样,为什么结果就不一样呢?特别是其他代码都不变。
[此贴子已经被作者于2019/12/27 20:29:01编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107813 积分:548416 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/11/3 21:00:00 [只看该作者]

我测试没有问题。上传实例说明

 回到顶部
帅哥哟,离线,有人找我吗?
shenyl0211
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
  发帖心情 Post By:2019/11/3 23:36:00 [只看该作者]

找到原因了,是动态加载表造成的。
谢谢蓝版。

 回到顶部
帅哥哟,离线,有人找我吗?
shenyl0211
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
  发帖心情 Post By:2019/11/5 10:44:00 [只看该作者]

蓝版:经过测试,我更迷糊了。最简单的测试情况反映在一楼。请指教。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107813 积分:548416 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/11/5 11:13:00 [只看该作者]

我测试还是没有问题。只弹出了2次提示框

您说的执行二次是指这个2个事件分别各执行了1次,总共弹出了2次提示框?

还是说每个事件都执行了2次,总共弹出了4次提示框?

 回到顶部
帅哥哟,离线,有人找我吗?
shenyl0211
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
  发帖心情 Post By:2019/11/5 11:28:00 [只看该作者]

蓝版:是每个事件都执行了2次。
先放下吧,反正在速度上没有什么影响,用户也感觉不到差别。


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107813 积分:548416 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/11/5 11:46:00 [只看该作者]

有问题就解决,不然可能会引发其它的问题。

做个实例发过来测试

 回到顶部
帅哥哟,离线,有人找我吗?
shenyl0211
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
  发帖心情 Post By:2019/11/6 14:27:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:主表切换测试.foxdb


MainTableChanged事件代码:MessageBox.Show(MainTable.Name)
现象:
1.只要初始加载所有表结构,就不会发生2次切换主表。
2.即使初始没有加载所有表结构,只要以后加载的表不是关联表,也不会发生2次切换主表。
    本例初始加载非关联表【表A】、关联表【表B】和【表C】,不会发生2次切换主表,相当于现象1。
    如果点击功能区菜单按钮【加载非关联表F】,也不会发生2次切换主表,也相当于现象1。
3.如果初始没有加载所有表结构,只要以后加载的表是关联表,已经加载的所有表(不管是否关联表),都会发生2次切换主表。
   如果在现象2基础上点击按钮【加载关联表D和E】,则之后所有主表的切换都会发生2次。
总结:
问题出在加载关联表上。(我的版本日期是2019-10-26)

[此贴子已经被作者于2019/11/6 14:28:17编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107813 积分:548416 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/11/6 14:43:00 [只看该作者]

是有问题,已反馈

 回到顶部
帅哥哟,离线,有人找我吗?
81538475
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1287 积分:10368 威望:0 精华:1 注册:2018/1/20 12:40:00
  发帖心情 Post By:2020/3/20 16:49:00 [只看该作者]

请问这个已经解决了吗

 回到顶部
总数 11 1 2 下一页