在vb6和研华板卡开发的一个项目中,用到了线程,线程中需要研华的函数,开发环境下运行没有问题,但是一旦生成可执行文件就会报错如下:
“0x001493e3指令引用的0x2201b104内存。该内存不能written。”

"0x0055a8ea"指令引用的"0x608af85c"内存,该内存不能为"read".
如果线程中不用研华函数就没有问题,但必须得用啊,怎么解决呢?请高手帮助! 

解决方案 »

  1.   

    大哥!这应该不是研华驱动函数的问题,这是VB6不能很好的支持多线程的问题,你调用其他非研华驱动函数也会出错,不信你试一试。原因我也说不清楚,但事实就是如此。
    我也学习VB6多线程许久,遇到的问题和你类似。
      

  2.   

    考虑编译成P-Code执行。VB6的函数,组件不是线程安全所致。不是你的代码的问题。
    如果VB6使用了多线程,并且此线程不访问VB6中的组件等等,编译成P-Code还是可以勉强运行的。如果要访问VB6中的组件资源一类,pcode也救不了你。