我用VB开发了个系统 工程组中有3个工程分别是a(active x dll) b(active x dll) c (标准exe) b引用a, c引用a,b
c是启动工程,如果在vb中加载工程组运行没问题,可是只装载c一个工程时却发生逻辑错误,好像a b组件定义的类都不起作用但不报错!(dll文件都已经注册!)

解决方案 »

  1.   

    改成二进制兼容,然后重新编译dll。
      

  2.   

     b引用a, c引用a,b 
      不启动ab  c怎么启动呢?
      

  3.   

    不行啊二进制兼容和工程兼容都不行!奇怪如果dll完全不起作用的话我调用里面的类对象方法的时候应该报错!(对象没用定义)
      

  4.   

    先删除全部 dll 和 exe,二进制兼容方式按 a、b、c 的次序编译。
      

  5.   

    我删除了dll文件以后,设置二进制兼容点击确定的时候弹出不能设置版本兼容部件
      

  6.   

    我就是先编译后来改成二进制兼容,然后覆盖以前的dll
    我要补充的是:a工程主要是配置读写文件 b工程主要是对数据库的链接以及操作 c工程主要是调用b工程定义的类以及方法
      

  7.   

    >如果在vb中加载工程组运行没问题,可是只装载c一个工程时却发生逻辑错误
    TMD,你在 C 中是对 b.vbp 而不是 b.dll 进行引用,只打开 c.vbp 当然错误了。
    二进制兼容是解决 a.dll、b.dll、c.exe 之间的引用关系,与源代码无关。
      

  8.   

    NND 一编译就说权限被拒绝!郁闷!