Declare Function SelectDoorLockType125 Lib "MakeCard.dll" (ByVal DoorType As Integer) As Integer

解决方案 »

  1.   

    注册,这个是做的门锁接口,直接把DLL函数放到system32文件夹中和我们软件的安装目录中不是就行了吗 
      

  2.   

    dll导出的函数名跟你声明的不匹配
      

  3.   

    需要使用RegSvr32来注册一下吧?
      

  4.   

    检查你的函数参数及返回值的数据类型。(ByVal DoorType As Integer) As Integer 
    可以不注册,将 Lib "MakeCard.dll" 此处改为绝对路径即可。
      

  5.   

    用Dll查看器看看导出函数的名称是否正确。参数类型还要看接口说明。建议用长整形Long试一下。
      

  6.   

    你的DLL导出口和函数名不一致
    如果你装了VC,dumpbin这个DLL:
    CMD中打dumpbin (路径) /exports
    找到你那个函数的入口(可能会变成类似"_SelectDoorLockType125@4")VB里声明变为
    Declare Function SelectDoorLockType125 Lib "MakeCard.dll" alias "你刚才得到的函数入口" (ByVal DoorType As Integer) As Integer
      

  7.   

    void __stdcall functionname(...
    照葫芦画瓢http://support.microsoft.com/kb/187912
      

  8.   

    将MakeCard.dll拷贝到exe所在目录或%windir%\system32目录下
    用PEBrowser或dumpbin查看MakeCard.dll的Export
      

  9.   

    返回值不能是integer的,两个integer都改成long再试试
      

  10.   

    参数如果不改成long,则应该去掉byval