VB:byval strTest as Any
C:unsigned char * strTest
要不然你可以查找一下,在这上面很多关于这样的问题!

解决方案 »

  1.   

    什么叫传自己?
    另外unicode字符串在C中不支持,需要你转换
      

  2.   

    VB:byval strTest as string
    C:char * strTest
      

  3.   

    告诉你一个只简单的方法.你可以在vb和dll中都调用两个api函数getprivateprofilestring,writeprivateprofilesting具体用法查msdn
      

  4.   

    使用数组 dim xxxx() as byte
    使用时把xxxx(0)传上去
    或使用byval strxxxx
      

  5.   

    Dim str as string*500   //ImportTant *
    str="Hello Visual C++"
    str=trim(str)
    go................................Good Luck
      

  6.   

    假设你的C函数叫做aaa,有一个参数str是字符串指针
    那么在vb中这样声明:
    Declare Function aaa Lib "你的dll名" (Str as Any) as xxx然后这样调用:aaa ByVal 你的字符串变量
      

  7.   

    VB:Declare Function PassString Lib "myDLL" (byval s1 as string _
                                                 byref s2 as string) as stringVC: 1) .def文件中
            export
            PassString
         2) .c 或 .cpp(c++)文件中
            BSTR _stdcall PassString(BSTR s1, BSTR* s2)
            {
             //s1是byval类型,s2是byref类型
             //把s1内容赋于s2
             SysReAllocStringLen(s2,s1,256); 
             //SysReAllocStringLen(s2,s1,strlen(s1));          //返回一个字符串
             LPSTR sz="Return string from DLL"; 
             return(SysAllocString(BSTR(sz)); 
            }
    有关字符串类型信息请查msdn及VB4文档资料;
    字符串函数用法查win32.hlp等(delphi中有完整的帮助,比msdn好)。