'api定义Public Declare Sub GetRecordDataFromMidTable Lib "E:\workspace\vbspace\nboa\compile\refcontrol\OA_MidTablePub.dll" (ByVal hdbc As Long, mStruct_DhMsg As sys_DHMSG, ByVal mstrsql As String) Public Declare Sub GetRecordDataFromMidTable Lib "OA_MidTablePub.dll" (ByVal hdbc As Long, mStruct_DhMsg As sys_DHMSG, ByVal mstrsql As String) 
两种方式都试过,EXE程序是放在E:\workspace\vbspace\nboa\compile\refcontrol中,OA_MidTablePub.dll也是在这个文件夹中的错误信息:
==============================
运行时错误 '53':
文件未找到: E:\workspace\vbspace\nboa\compile\refcontrol\OA_MidTablePub.dll

解决方案 »

  1.   

    试试 Lib ".\OA_MidTablePub.dll"……按说绝对路径是绝对可行的,但我以前也碰到过类似的问题,明明路径写的是对的,可就说找不到Dll。实在不行就把Dll放到Windows系统盘下。
      

  2.   

    已放到系统目录中
    不行。 Lib ".\OA_MidTablePub.dll"……   
    也不行。
    这个OA_MidTablePub.dll是以前的项目使用的,一直很正常。
    后来需要修改某个EXE,但编译后运行就出这个问题了
      

  3.   

    OA_MidTablePub.dll 放到 system32 
        windows
        和EXE一起的目录里面
    Public Declare Sub GetRecordDataFromMidTable Lib "OA_MidTablePub.dll" (ByVal hdbc As Long, mStruct_DhMsg As sys_DHMSG, ByVal mstrsql As String)  
    然后就用这个还不行
    开始---- 运行 ---regsvr32 OA_MidTablePub.dll
      

  4.   

    还不行
    开始---- 运行 ---regsvr32 OA_MidTablePub.dll
    LoadLibrary("OA_MidTablePub.dll") 失败 - 找不到指定的模块。再运行,也不行
      

  5.   

    运行:regsvr32 c:\windows\system32\OA_MidTablePub.dll 
    ---------------------------
    RegSvr32
    ---------------------------
    LoadLibrary("c:\windows\system32\OA_MidTablePub.dll") 失败 - 找不到指定的模块。---------------------------
    确定   
    ---------------------------c:\windows\system32\OA_MidTablePub.dll  文件是存在的
      

  6.   

    ---------------------------
    RegSvr32
    ---------------------------
    OA_DataTable.dll 中的 DllRegisterServer 成功。
    ---------------------------
    确定   
    ---------------------------注册成功也不行。唉
      

  7.   

    如果是一个com组件,是不能那样作为api声明使用的啊
      

  8.   

    好像不是COM。如果是COM组件这样用会报找不到入口点,而不是找不到文件。
      

  9.   

    能否提供一下OA_MidTablePub.dll文件实际测试一下。
      

  10.   

    这个API是用什么语言编写的,是标准的吗?还是COM组件?
    如果是COM组件的话,就只能在VB工程中引用了。
      

  11.   

    API是用C++写的, 前面的注册成功是我搞错了文件夹,成功的是"OA_DataTable.dll",并不是"OA_MidTablePub.dll"不好意思!
    to benyfeifei :
     文件怎么给你?请提供邮箱或其他
      

  12.   

    上面的,是搞错文件名ps:
    还是VB版热情,不知大家对DB2熟悉吗?
    http://topic.csdn.net/u/20071026/18/9dca1620-120b-4bc0-8e9c-de0d28434ee8.html我的程序原先只支持MSSQL的,但由于用户要求DB2,所以就要修改程序.
    原来的程序是可以正常访问OA_MidTablePub.dll
    我修改支持DB2后,就出现不能访问DB2的错误.