模块中声明如下
Public Declare Sub MyCloseSet Lib "rich.dll" ()
Public Declare Function KeyBoardInstaller Lib "ReadM.dll" (ByVal HWnd As Long) As Long在VB环境中运行通过。rich.dll和readM.dll(两文件用VC创建)放在VB目录下。
编译通过。
编译后程序运行目录为MYAPP,rich.dll和readM.dll文件拷贝到MYAPP目录。
运行程序通过。
用肥猫打包。本机解包后运行通过。
到另一台机器下(有VB环境)解包,运行出现提示:“出现错误:53    文件未找到:rich.dll”。
测试该问题,我在代码中加入ON ERROR RESUME NEXT 发现ReadM.dll中的函数可以正常使用,但Rich.dll依旧出现错误提示。
检查程序目录下文件均没问题,把DLL文件放入系统目录下依旧有错误提示
请教:为什么会出现这种情况?我已经测试20多次了解决不好,谢谢!

解决方案 »

  1.   

    2个动态库都是我自己用VC编译的,只是调用一些常用的API。在自己的机器上运行没有错误提示,可一安装到其它机器上就有错误提示。
    刚才我用VB打包发现一个问题,打包时出现提示上面2个文件没找到。可我是把这2个文件放在程序目录下的。
      

  2.   

    你用 Depends 之类的可以查看dll文件导入导出函数的软件看看你的rich.dll到底用到了哪些其他的dll,然后保证你在打包的时候也把那些dll都带进去
      

  3.   

    用Depends找到rich.dll用了MFC42D.DLL 、MSVCRTD.DLL、RPCRT4.DLL、ADVAPI32.DLL和一些WINXP系统自带的DLL。请问这些是不是全要打进包里?
      

  4.   

    打包后要放到什么目录下?这些都是在VC目录下的DLL。
      

  5.   

    高手快点来,我要结帐了。打包后要放到什么目录下?这些都是在VC目录下的DLL。
      

  6.   

    可以跟你的rich.dll放在一起,或者放到目标系统的System/System32目录下