我的程序使用了pci8344.dll中的函数,但是当我运行时说找不到pci8344.dll,但他明明在我的应用程序目录和winnt\system32目录下都有,我把所有的都改名,没有说不让改名的情况,然后查找pci8344.dll,找不到,我把C:\winnt\system32\目录下的那个改回原名pci8344.dll,使用regsvr32 c:\winnt\system32\pci8344.dll,出现以下提示:    c:\winnt\system32\pci8344.dll was loaded,but the DllRegisterServer entry point was not found. DllRegisterServer may not be exported,or a corrupt version of c:\winnt\system32\pci8344.dll may be in memory,Consider using Pview to detect and remove it.我现在希望我的程序能正常运行。
怎么办?

解决方案 »

  1.   

    普通的动态连接库是不需要注册的,你使用regsvr32是多余的动作。
    使用pci8344.dll的程序是你自己写的吗?你是使用静态引入还是动态引入?贴出点代码,调用dll相关的。
      

  2.   

    Public Declare Function ZT8344B_OpenDevice Lib "pci8344.dll" (ByVal cardIndex As Long) As Long '返回 0 表示打开设备成功,非0 表示失败
    Public Declare Function ZT8344B_CloseDevice Lib "pci8344.dll" (ByVal cardIndex As Long) As Long '关闭设备,在用户程序结束时调用一次
      

  3.   

    regsvr32 是给注册COM组件用的 需要DllRegisterServer这个函数,普通的DLL没有的