以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  奇怪的窗口Afterload事件  (http://www.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、做例子上来测试。