我在做一个数据采集程序,用了两个线程A(读数据)和B(输出到文本)
现在基本功能已实现,但是关闭程序时主窗口都关闭了,进程却退不出来
(线程在关闭窗口时已终止)这个问题有很多人遇到过,但是网上却查不到解决方法(有人提供了方法但是不起作用)
还有人说VB用多线程根本不行,就算调试通过,打包成EXE文件根本运行不了,
那我岂不是白干了???不知道有没有人用VB做过类似这样的程序?能不能给我提供一些解决办法?
如果vb真的做不出来,请提醒我,我得赶紧想别的办法,省得在这干耗着,呵呵...

解决方案 »

  1.   

    打包成EXE文件根本运行不了,正确!ACTIVEX EXE是个不错的选择,不过读写的协调问题你还是要高度关注。别把你的队列指针给搞乱了(我猜的,用队列吗?)。
      

  2.   

    读写的协调问题我已解决了,现在就是退不出进程,每次都要使用任务管理器强行退出
    网上建议的一些方法我试过一些(我所能查到的),只有用ExitProcess能退出,但是弹出
    内存不能为Written的错误框,而且VB6.EXE整个都退出了(调试的时候)对于这个问题大家有什么好的方法?
      

  3.   

    我眼下要做的程序和你的很类似,我想做一个线程从串口读数,一个进行曲线或图表的显示,如果可能再来一个专门用于保存数据。由于以前没做过多线程,现正在搜集这方面的资料,还没着手。我找的几个多线程的例子也有你提到的情况,比如编译成exe就无法正常运行,或者关闭程序整个vb环境都退出。不过有的例子很好,没有出错。希望能和你交流。
      

  4.   

    ActiveX EXE 就是另一个线程
      

  5.   

    很多人建议用deiphi做多线程,看来可以试试
      

  6.   

    为了避免:“ActiveX EXE 退不出进程,每次都要使用任务管理器强行退出”,不要将对象设置为Nothing ,除非已经关闭了此应用程序,对于你的ActiveX EXE 你应该提供一个公用的QUIT方法,此QUIT方法在你的ActiveX EXE的作用就是:关闭和退出ActiveX EXE ,以便在调用的程序中调用它达到关闭此ActiveX EXE 一个实例。
    如果你用过用OLE 的方法调用EXCEL 就明白了,在打开了EXCEL 把数据导入到里面以后,最后结束之前都会调用一下:appexcel.quit