1、如何用vb实现真正的多线程而不是多进程?
2、如何在vb中开放中断?

解决方案 »

  1.   

    1.VB语句不具备线程安全
    2.BIOS中断?只能用其他语言写dll给VB调用
      

  2.   

    VB里也可以实现真正的多线程1.最好把代码放在Active Dll里,编译时使用p代码方式,至少要装vbsp3以上
    2.线程函数里不能有VB的内置函数,比如left,trim等
    3.创建线程CreateThread的参数不要使用ByVal &0,使用变量
    3.主程序退出时要使用TerminateProcess(GetCurrentProcess, ByVal 0&)强行结束当前进程,否则有可能出错,这是两个API函数,请查相关资料
    具体示例请看
    http://www.planet-source-code.com/xq/ASP/txtCodeId.14479/lngWId.1/qx/vb/scripts/ShowCode.htm
      

  3.   

    所以说封装到dll里啊,dll用p代码编译.但主程序还是可以用本机代码编译的
      

  4.   

    呵呵,那就没办法了,反正我知道用DoEvents用多了是会假死机的
      

  5.   

    各位不好意思,我刚才在和别人讨论这个问题,没有及时刷新网页,我找到了一个老外做的多线程,他封装在dll中。
    刚写到一半,看了一下antshome(星星我来了) 介绍的网站,不错!
    不过TerminateProcess中的“Process”好象是进程的意思吧?
      

  6.   

    主程序创建了一个新的线程,在退出时,有可能这个线程并没有终止,主程序是关不掉的,所以必须用TerminateProcess强行结束主程序的进程
      

  7.   

    To:antshome(星星我来了) 
    嘿嘿,你比比尔还厉害啊.
      

  8.   

    for item1:http://www.banasoft.net/Comm.htm#BNComm
      

  9.   

    2.就算用其它开发工具也不一定能直接实现中断功能,因为有时候操作系统本身不允许你怎么做!比如在VC,Delphi中嵌入ASM,或直接用WinASM调用Int编译可以通过,但执行时确会出错!VB很多特性决定了很多事它做不了!此外可以用API CreateProcess执行一个外部COM文件来实现中断的调用!
      

  10.   

    线程能力也不是VB的问题,是操作系统的问题。如果是UNIX,多任务多线程是简单问题。
      

  11.   

    MSDN Library Visual Studio 6.0 (CHS)中有一个多线程的例子,不过也是用DLL做的。用CreateThread创建的线程不可靠
      

  12.   

    不是说vb.net 可以容易实现多线程吗?
    multi-thread..那到底什么实现多线程容易些