两个DLL(假定为DLL1,DLL2)中都使用了Raize控件
总控调用这两个DLL正常,假定调用时先调用DLL1,然后调用DLL2
释放时如果先释放DLL2再释放DLL1,那么一切正常。相反如果先释放DLL1再释放DLL2,
就会报出下面这个错误:
Project projectname raised too many consecutive exceptions: 
application defined exception (code xxxx) at xxxx. 
Process stopped. Use Step or Run to continue.请问:这是为什么啊,

解决方案 »

  1.   

    可能與代碼有關, 第二個dll釋放了第一個dll申請的資源
      

  2.   

    to trainbox(rain)
    没有任何关联,只是都使用了raize控件而已
      

  3.   

    to  aiirii(ari-爱的眼睛) 
    我也觉得释放第一个DLL时释放了第二个DLL的资源。因为按照先进后出的原则的话是没有问题的,只有先进先出才有问题那该怎么办呢?难道控件问题?
      

  4.   

    应该是在dll1中对raize控件的资源有所改变,在dll2中对这个资源发出了请求,所以你先释放了dll1,就会出现这个错误
      

  5.   

    raize控件句柄在第一个调用的DLL里,即DLL1,DLL2里的raize共用DLL1的raize句柄,释放DLL1后,DLL2的raize找不到原来的句柄就会出错。
      

  6.   

    to zklove(花花公子)
    释放第一个DLL后,第二个DLL使用正常,就是释放时错误。to sunkevin(愚公) 
    如果真是你说的这种情况的话,那应该怎么去做呢
      

  7.   

    to langziwujia007(※刑警队长※) 
    先谢了:)
      

  8.   

    我想是这样字的 ,你调用DLL2后DLL2的一直处于占用系统资源状态,而DLL1则处于闲置状态,操作系统必须让你先释放DLL2所占用资源,因为DLL1此时也不占用系统资源,所以DLL1放在DLL2后面释放是符合逻辑规范的!
    哈哈,langziwujia 是王金亮吧 哈哈 巧啊!在这里碰到你!
      

  9.   

    估计是rave有一些共享的东西会被任何一个RAVE实例引用和修改,既然后进先出可以,那就后进先出啦
      

  10.   

    to kzh80000(小鱼) 
    关键是如果我不用raize控件的话,一切正常我怀疑是否该控件有些问题?,我好多DLL使用了该控件,替换肯定不可以怎么办啊,急死了
      

  11.   

    是释放DLL1时出错,还是释放DLL2时出错?
      

  12.   

    to g961681(我好惨啊!) 
    释放DLL1时错误