以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 奇怪的窗口Afterload事件 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=78020) |
-- 作者:santde -- 发布时间:2015/11/30 18:14:00 -- 奇怪的窗口Afterload事件 一个窗口的afteroad事件中对当前窗口的一些控件进行了属性设置 在系统初次打开时,打开这个窗口,执行afteroad事件没问题 但首次关闭这个窗口时 ,系统报错, .NET Framework 版本:2.0.50727.8009 Foxtable 版本:2015.11.11.1 错误所在事件:窗口,产品工艺录入,AfterLoad 详细错误信息: 未将对象引用设置到对象的实例。 跟踪发现是:窗口已关闭,再不能调用窗口内的控件了 关闭报错窗口了 然后再使用同样的方式打开该窗口,再关闭均不报错 关闭时也不再执行AfterLoad事件 了,不提示了 疑问: 1,为什么在窗口关闭时会去执行AfterLoad代码 2,窗口已关闭,再不能调用窗口内的控件了,这个提示有时有有时没有 3,我AfterLoad代码里加入了msgbox(1)调式代码。 有时不提示这些1,2,3,4,5直接报错 未将对象引用设置到对象的实例。有时又 提示1,2,3,4 有提示这些时就会具体提示窗口已关闭,再不能调用窗口内的控件了了。 为什么偶尔均会碰到 窗口已关闭,再不能调用窗口内的控件了类似的提示了???? 万般无奈只有在窗口的AFTERLOAD事件前 加上 if Forms("产品工艺录入").opended = true then 解决问题 难道所有窗口的设计都这样一下才保险
[此贴子已经被作者于2015/11/30 18:21:34编辑过]
|
-- 作者:大红袍 -- 发布时间:2015/11/30 18:25:00 -- 你afterLoad事件,肯定另外打开了其它模式窗口,模式窗口关闭会回到afterload事件继续执行。 [此贴子已经被作者于2015/11/30 18:25:25编辑过]
|
-- 作者:santde -- 发布时间:2015/11/30 18:43:00 -- 经查绝对没有在这个AFTERLOAD事件 中有打开其它任何窗口的代码 就算如你所说,应该 每次报错才对,现在是初次打开系统时报错,即只第一次报错,其它次的操作完全 正常 |
-- 作者:大红袍 -- 发布时间:2015/11/30 20:16:00 -- 1、窗口不要设置自动打开;
2、做例子上来测试。 |