请参考:
http://expert.csdn.net/Topic/34049.shtm
http://expert.csdn.net/Topic/33775.shtm
http://expert.csdn.net/TopicView.asp?id=33632

解决方案 »

  1.   

    在vb中使用自定义dll中的函数,要声明它才行;在需要使用dll的模块头(或系统公用module)加以下语句:
    Declare Function function_name Lib "dll_name" (ByVal... ...) As ...,声明你要使用的函数,其中function_name为函数名,dll_name为动态链接库的名字;dll拷在工程目录下;
    声明了之后就可以自由使用该函数(function_name)了。
      

  2.   

    在vb中使用自定义dll中的函数,要声明它才行;在需要使用dll的模块头(或系统公用module)加以下语句:
    Declare Function function_name Lib "dll_name" (ByVal... ...) As ...,声明你要使用的函数,其中function_name为函数名,dll_name为动态链接库的名字;dll要拷在系统目录下,否则要指明它的绝对路径;
    声明了之后就可以自由使用该函数(function_name)了。
      

  3.   

    谢谢sz_Carol dll找到了,但是系统提示找不到函数入口“can't find dll entry point 函数名 in 动态连接库文件”。为vb做的dll需要做什么特别的改动吗?
      

  4.   

    可能是参数个数或类型匹配出错,
    1、参数传递一定要用byval,不能用byref;
    2、仔细检查参数类型和个数
    3、检查函数的返回值
    4、dll中的函数是否定义为可导出的,或者在def文件中指明了导出函数的函数名?例如:
    dll程序:_declspec int _stdcall test(int Num,char * Code,long Time,char * ID)
    vb调用:Declare Function test Lib "dll_name" (ByVal vb_num As Integer, ByVal
            vb_code As String, ByVal time As Long, ByVal ID As String) As Integer试多几次,肯定可以的!