用VB开发了一个activex dll,供VC下开发的ATL组件调用,ATL组件被主程序(VC开发)的多线程调用。每个线程都调用单独的一个对象,即不存在多线程同步及死锁等问题。现在的问题是,编译成二进制代码后,约运行150 - 400个线程后,主程序就会挂起,但不报任何错误,像是暂停了一样。但在VB的IDE环境下调试VB的Activex dll,则主程序运行一直正常,试过测试两万多个线程都没有问题。
想知道为什么,怎么办?希望有此经验的同行指点一下,谢谢。

解决方案 »

  1.   

    有点因难,IDE有时一些事件的执行顺序和编译后的顺序会有所不同,不知道会不会影响楼主的程序
      

  2.   

    http://community.csdn.net/Expert/topic/4422/4422366.xml?temp=.7508051
      

  3.   

    to  rainstormmaster(暴风雨 v2.0):
    编译成p-code试过了,不能解决问题。
      

  4.   

    编译Activex Exe先试一下,不能解决再看循环地方加下do events试试看
      

  5.   

    编译成activex exe后在VC中无法创建对象了,请问在VC中应该怎么调用呢?
      

  6.   

    编译成activex exe后无法按原来的方法创建activex exe对象(在VC中),请问activex exe的调用方式和activex dll的调用方式是否不一样?