假设函数为systeminit(char* str),sysAPI.dll
请问应如何声明,如何调用。

解决方案 »

  1.   

    声明
    Private Declare sub SystemInit Lib "sysAPI.dll" (ByVal str As String)调用
    dim str as string
    str = space(255)
    SystemInit(str)
      

  2.   

    不行呀!
    实时错误'49'
    dll调用约定错误
      

  3.   

    http://www.csdn.net/develop/Read_Article.asp?Id=18973看看有帮助
      

  4.   

    VB只能调用__stdcall协议的dll
      

  5.   

    bcpl(从来就没有什么救世主,也不靠神仙皇帝):
        请问space()有什么用?goodname008(卢培培,想学好VB):
        http://www.csdn.net/develop/Read_Article.asp?Id=18973
    这篇文章主要是windows自带得API函数,与用vc写得api有一定的区别。 谢谢zyl910(910:分儿,我又来了!) :
        请您详细讲讲_stdcall协议,谢谢。
      

  6.   

    Private Declare sub SystemInit Lib "sysAPI.dll" (ByVal str As Long)
    使用 Call SystemInit PtrStr("Example") 呢
      

  7.   

    http://expert.csdn.net/Expert/topic/2055/2055252.xml?temp=.4062921
      

  8.   

    谢谢各位,我的问题已经解决了。
    vc的dll是stdcall的,可以直接调用。而且字符串指针可以直接使用。
    Private  Declare  sub  SystemInit  Lib    "sysAPI.dll  "  (ByVal  str  As  String)  as long
    systeminit "aaa"
    就可以了。不能调用是因为漏了返回值。