终于找到一个地方上传了。
hissoft.nease.net\multiXC.rar
该代码由本人原创。目的的避免使用API创建安全的异步操作环境
欢迎使用改组件。带全部源码。
欢迎就组件的问题和不足进行讨论。

解决方案 »

  1.   

    不错不错吖!充分利用ActiveX Exe的威力!
      

  2.   

    现在的不足是。异步的实现只能写在异步对象中间,当然可以用callbyname的方法传递呼叫字符进去,把实现代码独立到dll中。但这样易用性太差。。
    也许vb也就能做到这个地步了。。
    或者还有牛人。
      

  3.   

    用API完全可以再vb里面完成多线程的操作。
    但是,线程API会破坏vb ide的稳定。
    小工程无所谓,当一个200多窗口的大PROJECT因为一个api导致崩溃而不得不再load一次时
    ,就会感受到不使用API解决方案的可贵了。呵呵。
      

  4.   

    cpio(就这么简单):
    activex.exe 和 dll 需要注册才能使用
    可以输入以下命令行代码注册
    yourpaht\prjThread.exe /regserver
    regsvr32 prjtimer.dll
      

  5.   

    希望下载了的朋友回来讨论一下。
        如何才能做成一个完全独立的的异步组件??(现在的异步操作要封装到组建里面)我的想法是把异步操作封装到DLL中
    例如:   把DoWork1 的操作封装到 PrjOP.DLL 
    那么,只要这样异步调用这个操作 就  call ObjThread.DosyncJob("PrjOP.DoWork1",objEvent) 就可以了。
      

  6.   

    刚才收到几个网友的email,说跑不动
    我把几个工程都编译了,
    添加了一个autoRegist.bat
    执行后可以直接跑 prjTest.exe 看效果已经更新到网页
      

  7.   

    执行后autoRegist.bat
    直接跑 prjTest.exe 看效果
    出错:定义的应用程序或对象错误
      

  8.   

    只要注册成功了不会有这个提示的。
    我在winxp和win2003系统上测过。
    也可以直接用工程跑1。确认autoRegist.bat成功完成 prjtimer.DLL,和prjThread.exe的注册
    2。首先跑起pejthread.PRJ
    3。运行起来
    4。然后跑prjtest.prj
    5。两个工程可以通过自定义事件交换数据
    可以看到。两个工程是异步的。但测试工程自动中定义的异步事件被触发。工程使用共享事件类的方法,多个异步实例(异步进程中的多个线程)使用同一份
    事件对象。Activx.EXE的工程不能和测试工程放在一个工程组里跑。
      

  9.   

    birdhang(小鱼) 
    运行效率明显下降的原因很简单1。其实程序实现的是两个进程。 其中ACTIVEX.EXE的进程实现了一个对象一个线程
    2。每个现成的时间都返回到测试工程中
    在test1和test2中,执行了两个大循环,1 到 10000000
    没执行一个前端都触发了一个inprogress事件来写listbox
    开两个线程,那么效率只有开一个的一半
    但如果不是没循环一次就触发一次事件的话,效率就成倍提高了
    根本的原因是测试工程只有一个线程
    不知道说清楚没有。欢迎讨论
      

  10.   

    chenyu5188(来自东方的狼) 确实没写说明书,但我在每段代码中做了详细的解释,如果还有问题的话,也可以上来讨论或email我