转载请注明出处
由于阅历有限,篇幅不周之处还望指出,谢谢
今天在优化代码的时候,碰到个烦心事。
本来在FORM1里面好好的代码,运行也出结果了,一移到模块里面就死机。
查了好多地方,没发现原因所在。
最终,问题出在了On Error Resume Next这句话!
于是牵扯出了作用域问题
有这么一段代码(不知道我这样写的对不对,欢迎指正):
While WebBrowser1.Busy = True
'DoSomething
Wend
这段代码要是放在Form1中还好,可是突然移到BAS中就出现问题了,常常容易忘记或者有人根本不知道要加个"form1."
不加的话会出现错误提示424 要求对象。
但是我的问题就在这On Error Resume Next上,对!我在WHILE前面加了这么一句。乖乖~这下程序转到我死都不会出现424了。
这也就是为什么会死机!
然后,接下来就是本文的重点!
对的!On Error Resume Next的作用域问题。
我XX搜索了一下,没有发现有地方提及该语句作用域问题,当然了,不过你找到了可以告知我。
实践证明:
While WebBrowser1.Busy = True
Wend
On Error Resume Next
和
On Error Resume Next
While WebBrowser1.Busy = True
Wend
是不一样的。前者会提示424。后者不会,这就显而易见On Error Resume Next的作用域问题了