有一文件AAA.dll中有一函数,该函数的标准C语言原型为:
int __stdcall Startup(char* cLocalIp,
short iLocalPort,
char* cSmgIp,
short iSmgPort,
char* cLoginName,
char* cPassword,
int lSocketTimeOut,
int lMTTimeOut,
unsigned int iSrcNode,
int lMTThread,
int lMaxListNode,
int lMTMaxRetryTime,
int lMOThread)我想在用VB做一个DLL文件,调用此函数,我是这样声明的:
Declare Function Startup Lib "AAA.dll" (ByVal cLocalIp As Byte, 
ByVal iLocalPort As Integer,
 ByVal cSmgIp As Byte, 
ByVal iSmgPort As Integer,
 ByVal cLoginName As Byte,
 ByVal cPassword As Byte,
 ByVal lSocketTimeOut As Long, 
ByVal lMTTimeOut As Long, 
ByVal iSrcNode As Long,
 ByVal lMTThread As Long,
 ByVal lMaxListNode As Long,
 ByVal lMTMaxRetryTime As Long,
 ByVal lMOThread As Long) As Long然后我这样去调用它:
Public Function Start() As Long  Start = Startup("192.16.1.1", 8801, "192.16.1.2", "8802", "aaa", "bbb", 120, 120, 3037188888#, 50, 30, 5, 0)End Function总是有编译错误:错误的参数号或无效的属性赋值  提示出错在Start = Startup("192.16.1.1", 8801=========== 这行 
我实在找不出为什么了,请大家帮我看一下,探讨一下解决这个问题,谢谢!!!
我急着用,在线等!!!!!!!!!!!!!!!

解决方案 »

  1.   

    改成如下试试
    Declare Function Startup Lib "AAA.dll" (ByVal cLocalIp As String, ByVal iLocalPort As Long, ByVal cSmgIp As String, ByVal iSmgPort As String, ByVal cLoginName As String, ByVal cPassword As String, ByVal lSocketTimeOut As Long, ByVal lMTTimeOut As Long, ByVal iSrcNode As Double, ByVal lMTThread As Long, ByVal lMaxListNode As Long, ByVal lMTMaxRetryTime As Long, ByVal lMOThread As Long) As Long
      

  2.   

    谢谢: zgzzgz(zgzzgz) 
    我来试试!!不容易呀,终于有一解答的了!!!!!!!!!!!!
    谢谢!!!!!!!!!!!!!!!!!!!!
      

  3.   

    有兴趣可以交流  [email protected]
      

  4.   

    zgzzgz(zgzzgz)  我试了 ,还是出现同样的错误!我不知道为什么,大家帮我呀!!!!!!!!!!!!!!
      

  5.   

    我编译没有问题,但我没有你的dll所以没办法运行测试
      

  6.   

    出错在这句:
    Start = Startup("192.16.1.1", 8801, "192.16.1.2", "8802", "aaa", "bbb", 120, 120, 3037188888#, 50, 30, 5, 0) 错误的参数号或无效的属性赋值
      

  7.   

    出错在这句中:
    Start = Startup("192.16.1.1", 8801, "192.16.1.2", "8802", "aaa", "bbb", 120, 120, 3037188888#, 50, 30, 5, 0)错误的参数号或无效的属性赋值
      

  8.   

    dll有多大,可以发过来吗?发过来后我能运行吗?
      

  9.   

    这个呢:
    Declare Function Startup Lib "AAA.dll" (ByVal cLocalIp As Byte, _
            ByVal iLocalPort As Integer, _
            ByRef cSmgIp As String, _
            ByVal iSmgPort As Integer, _
            ByRef cLoginName As String, _
            ByRef cPassword As String, _
            ByVal lSocketTimeOut As Long, _
            ByVal lMTTimeOut As Long, _
            ByVal iSrcNode As Long, _
            ByVal lMTThread As Long, _
            ByVal lMaxListNode As Long, _
            ByVal lMTMaxRetryTime As Long, _
            ByVal lMOThread As Long) As Long
      

  10.   

    敲错一个地方了:
    Declare Function Startup Lib "AAA.dll" (ByRef cLocalIp As String, _
            ByVal iLocalPort As Integer, _
            ByRef cSmgIp As String, _
            ByVal iSmgPort As Integer, _
            ByRef cLoginName As String, _
            ByRef cPassword As String, _
            ByVal lSocketTimeOut As Long, _
            ByVal lMTTimeOut As Long, _
            ByVal iSrcNode As Long, _
            ByVal lMTThread As Long, _
            ByVal lMaxListNode As Long, _
            ByVal lMTMaxRetryTime As Long, _
            ByVal lMOThread As Long) As Long
      

  11.   

    Start = Startup("192.16.1.1", 8801, "192.16.1.2", "8802", "aaa", "bbb", 120, 120, 3037188888#, 50, 30, 5, 0)
    改为:
    Start = Startup("192.16.1.1", 8801, "192.16.1.2", 8802, "aaa", "bbb", 120, 120, 3037188888#, 50, 30, 5, 0)
      

  12.   

    Public Declare Function MGetLunarData Lib "AAAA.dll " Alias "__stdcall" (ByRef cLocalIp As String, _
                                                                             ByVal iLocalPort As Integer, _
                                                                             ByRef cSmgIp As String, _
                                                                             ByVal iSmgPort As Integer, _
                                                                             ByRef cLoginName As String, _
                                                                             ByRef cPassword As String, _
                                                                             ByVal lSocketTimeOut As Long, _
                                                                             ByVal lSocketTimeOut As Long, _
                                                                             ByVal iSrcNode As Long, _
                                                                             ByVal lMTThread As Long, _
                                                                             ByVal lMaxListNode As Long, _
                                                                             ByVal lMTMaxRetryTime As Long, _
                                                                             ByVal lMOThread As Long) As Long
      

  13.   

    Public Declare Function stdcall Lib "AAAA.dll " Alias "__stdcall" (ByRef cLocalIp As String, _
                                                                             ByVal iLocalPort As Integer, _
                                                                             ByRef cSmgIp As String, _
                                                                             ByVal iSmgPort As Integer, _
                                                                             ByRef cLoginName As String, _
                                                                             ByRef cPassword As String, _
                                                                             ByVal lSocketTimeOut As Long, _
                                                                             ByVal lSocketTimeOut As Long, _
                                                                             ByVal iSrcNode As Long, _
                                                                             ByVal lMTThread As Long, _
                                                                             ByVal lMaxListNode As Long, _
                                                                             ByVal lMTMaxRetryTime As Long, _
                                                                             ByVal lMOThread As Long) As Long
      

  14.   

    int __stdcall Startup(char* cLocalIp, --->String
    short iLocalPort,  ---->Integer
    char* cSmgIp,--->String
    short iSmgPort,--->Integer
    char* cLoginName,--->String
    char* cPassword,--->String
    int lSocketTimeOut,--->long
    int lMTTimeOut,--->long
    unsigned int iSrcNode,--->Ingeger
    int lMTThread,--->long
    int lMaxListNode,--->long
    int lMTMaxRetryTime,--->long
    int lMOThread)--->long
      

  15.   

    Public Declare Function Startup Lib "aaa.dll" _
                            (ByVal cLocalIp As String, _
                            ByVal iLocalPort As Integer, _
                            ByVal cSmgIp As String, _
                            ByVal iSmgPort As Integer, _
                            ByVal cLoginName As String, _
                            ByVal cPassword As String, _
                            ByVal lSocketTimeOut As Long, _
                            ByVal lMTTimeOut As Long, _
                            ByVal iSrcNode As Long, _
                            ByVal lMTThread As Long, _
                            ByVal lMaxListNode As Long, _
                            ByVal lMTMaxRetryTime As Long, _
                            ByVal lMOThread As Long) As Long