搜索以前的贴子!
比如这个贴子:http://www.csdn.net/expert/topic/1004/1004728.xml?temp=.3643

解决方案 »

  1.   

    你在采集函数里设置退出机制啊,另外 ,你用创建dll来引用你的函数,可以选择single thread(单线程)还是multi thread(多线程)来引用
      

  2.   

    定义一个变量bStop
    循环前doevents
    每次循环前判断bStop的值点“停止”,bStop=true
      

  3.   

    再就是用timer了,只是比普通多线程慢点,效果和原理其实都一样
      

  4.   

    我想是多建立些CLASS进程外服务程序。也就是ACTIVE。DLL,只是有那种效果,和VC当然不一样了!
      

  5.   

    使用CreateThread API函数创建线程。 SecurityDescription处传VbNull,同时注意AddressOF函数取地址的函数最好以Function为前缀,Sub前缀函数可能会发生异常。
    如需具体的过程可以Mail Me
      

  6.   

    不知道能不能实现中断,如果能的话,就十分简单了。
    在vb中实现多线程,我觉得使用Timer空间比较好。
      

  7.   

    要做连续不间断的多项任务,Timer绝对不是选择的对象:Timer的最快间隔为1/18s,速度远慢于标准线程。DoEvents不行,因为用DoEvents必用Timer,但是Timer作为资源,是有限的!!!!!
    顺便请问,多线程用在什么地方?
      

  8.   

    对不起,没看清你的原题。要是只是做停止按钮,最好用DoEvents。如果要有进度条跟踪,最好再用真“多线程”
      

  9.   

    我赞同前面其中两位仁兄的意见,就是采用两种方法:
    1.一种是将其独立成一个程序,由主程序来调用,另一种就是使用使用CreateThread API函数创建线程。
    2.但必须注意的是,如果使用使用CreateThread API函数创建线程,就要对程序进行严格处理,由于VB使用这个函数很不稳定,另外,我不知识你在进行数据采集是不是使用了DAO这个数据引挚,如果是,我建议你不要使用使用CreateThread API函数创建线程。
      

  10.   

    我也是在考虑如何解决这类问题,TIMER稳定,但响应时间最小是55MS,而且级别比较低。 又开始试用 TimeSetEvent 涵数,这是个比较好的方法,但其回调涵数所要处理的程序段时间不能超过所设定的时间间隔,否则程序不稳定,死程序甚至死机,如何在很短的时间(1MS)处理比较复杂的程序,看来除了CPU快以外,还是要加些人工智能了,从通用角度1MS也就是处理处理字串变量等信息,象我的程序需要处理图象,那根本就是不可能的。各位帮忙看看有无用 Timesetevent 在短时间处理比较大的过程的实例?