大家都知道做线程VB是最大的遗憾,我试了很多VB做线程的方法,最终还是未能达到理想的效果。我知道DELPHI做线程是非常好的,能否用DELPHI些个DLL文件在该DLL中创建N个线程,然后再每个线程中都调用VB写的DLL文件,也就相当于用VB也能做线程啦!
这样程序运行时就需要3个文件  1:VB写的EXE文件  2:DELPHI写的开线程的DLL  3:VB写的DLL文件我不懂DELPHI、只懂VB   有没有哪位好心的朋友能帮我用DELPHI写这个DLL文件呢?(不会您白费工夫,我QQ里有30个QQ币,喜欢的我都送给他)

解决方案 »

  1.   

    与其这样你还不如直接用vb写个ActiveX EXE用于调用呢
      

  2.   

    理论上来说VB也可以实现多线程,不过需要调用 API,实现起来比较麻烦,而且不是太稳定.可以参考一下下面的资料:
    http://www.newasp.net/tech/program/21402.html
    http://www.hsip.cn/soft/1/2006/1D5484861865.html或者去Delphi区问吧.
      

  3.   

    vb写个ActiveX   只能达到多一个线程  而且会多了个进程出来
    这样会很占内存的   虽然ActiveX是可以实现多线程但是只能调用一次如果是想开1000个线程的话就会有密密麻麻的EXE了   呵呵
      

  4.   

    4楼的话有点危言耸听,我想你可以并没有实际用过吧。
    用ACTIVEX控件来模拟多线程,在线程任务不很繁忙,并且线程数量不很多的情况下,效果还是非常不错的。
    并且也不会出如你说的那种“密密麻麻的EXE”的现象的。大体做法:
    新建一个ACTIVEX工程,然后就象你写本地模块一样写变量和函数,需要被其他工程引用的函数和变量定义为PUBLIC型
    然后选择“添加工程”建立一个调用窗体,这个工程中可以看到工具箱里多处一个用户自定义控件,然后就像使用一般控件那样拖到FORM上,当然,也可以定义成控件数组。
    设置好自定义控件的属性就可以调用它的方法了(就是你前面在控件内写的PUBLIC型函数)
    按F5就可以开始运行和调试了。注意:
    1:当添加一个新工程的时候,VB会自动生成一个工程组,不用理它,该怎么用还是怎么用。
    2:要在新的测试工程中添加自定义控件的时候,必须先把自定义控件的设计窗体关闭,否则无法添加。
    3:调试结束之后,需要分别编译:退出VB,重新打开自定义控件工程,编译成OCX,再打开测试工程,生成EXE。
       工程组是用来便于调试的,无法同时编译出OCX和EXE来。
    4:如果在退出工程组,单独打开自定义控件生成OCX时修改了控件功能代码,则在生成测试工程的EXE时必须重新添加一次自定义控件(工具箱属性,添加控件,查找刚才那个生成的OCX即可)
      

  5.   

    Q群28397900共享有个例子,群主做的“稳定多线程.rar”