问题描述:一组VB程序,其中五个编译的结果为DLL,一个为EXE(test.vbp)。其中exe需要redference到前五个dll.虽然已经按照vbp文件中的设定的位置进行注册,但每次重新打开test.vbp时,总是发现References对话框中前五个DLL显示为MISSING.另外,这一组程序reference的另一个dll(用VC++做的)就没有这种问题。请高手指点。

解决方案 »

  1.   

    把DLL放到system32\下边,注册,重新refer一下,确定就应该没问题了
      

  2.   

    我就是不要在system32下注册,而是在用subst映射的B:下注册再做build.我要实现自动build.
      

  3.   

    第一:编译时应该设置版本兼容性为工程兼容或者二进制兼容
    第二:如果你的注册表里面有多个版本的注册信息,请删除,可以使用COM Explorer 2(http://www.4dev.com/software/comx.exe)来查看
      

  4.   

    刚安装了,请问楼上的COM Explorer 2怎么用啊?有些什么功能呢?偶现在在调dll(Set lObjInvoice = CreateObject("ObjInvoice.CSdshiporder") 时候,老是报Permission denied的错误信息,不晓得怎么回事
      

  5.   

    你要看看你引用的DLL是DLL所在的工程还是DLL文件噢
      

  6.   

    引用之后不要对DLL进行改写,否则每次都要重新引用。
    报Permission denied的错误信息,是不是你调用的某个DLL文件正在被使用。
      

  7.   

    我以前也遇到这样的问题,
    但我一般都是放到system32
    目录下注册后就好了。
      

  8.   

    exe,dll放到一起
    注册一下就可以了