问题现象:项目中有当前表切换事件 ,在当前表切换是将 当前表的 名称记录为一个 常量 当前表名称。
屏幕上显示的是 表A (这时系统的“当前表名称”是,“表A”。 )
再打开 一个窗口F 窗口中的表是 "窗口F_table1",该表是 SQL生成的表 ,在表中进行了操作,(这时系统的“当前表名称”是,“窗口F_table1”。 )
通过命令窗口 msgbox(CurrentTable.name) 显示为 “窗口F_table1”
然后再关闭了窗口F,因"窗口F_table1"是SQL生成的表,所以窗口F关闭了,该表的生命周期也就结束了。即表已不存在了。
关闭了窗口F,则界面呈现了“表A”,此时,对于人而言,当前表是“表A”了
(这时系统的“当前表名称”是,"窗口F_table1"。 )
但对于计算机或FOXTABLE而言,当前表也是“表A”,通过命令窗口 msgbox(CurrentTable.name) 显示正确 为表A
那么问题来了,说明FOXTABLE系统中 的当前表是切换了,
但是 项目中的 当前表切换事件中的代码没有执行?
经测试的确如此:在项目的当前表变化事件 中 一开始写上 msgox(1)
点表标题切换表时,这个1显示了两次,说明当前表变化事件执行了两次, 为什么要执行两次,有些想不通。
然后打开上面的寻个窗口:在窗口开启前 1居然显示了 23次,窗口显示后,1显示了1 次,为什么之前执行23次这个事件,有些想不通。
然后关闭这个窗口,1 一次也不显示,但系统当前表有切换 ,但1不显示 也想不通。
[此贴子已经被作者于2016/5/12 12:05:09编辑过]