用VB写了个采集某些东西的程序,使用XMLHTTP组件进行采集,同时使用Timer控件监控XMLHTTP的状态
在VB里调试的时候很正常,全编译执行的时候也很正常,但是编译成exe文件再执行就诡异地出现错误了。还没运行到1分钟,就弹出错误提示框,“Automation 错误”,错误代码忘记是多少了,因为已经是独立运行的一个程序了,所以这个错误出现的时候根本没法用VB调试,也根本不知道这个错误出在哪里,郁闷……
后来经过不断地注释编译运行,总算把出错定位到了一个过程里面,但是具体是哪里出错还是没有知道。不过后来偶发现,如果编译成P代码的话就不会出现这个错误,好诡异……我也懒得继续定位错误了,P代码就P代码吧
不过,我怀疑是一个变量的问题。VB本身是不支持多线程的,但是使用Timer控件却是运行于独立线程的,我定义有一个全局变量,并且经常对这个变量进行读写操作,我怀疑是两个不同的Timer控件正好同时对这个变量进行读写操作,于是错误就发生了
不过这种可能性似乎不大亚……
管他呢,反正编译成P代码就行了,这程序对效率的要求不高,没关系
F-22's Trace
greensea 的个人主页
sky-city
极夜奁
小樱之町