如果长度是不知道的话,可以由VC在DLL当中自己申请,然后再调用一个函数来释放这个内存,也可以由外界传递一块已分配的内存,不过,这时要判断一上分配的内存是否够用。

解决方案 »

  1.   

    概念不对,com与外界通寻讯靠的是指针,
    在com中new一个字符串缓冲区(以'\0'结尾),
    吧指针传出去,
    在com的西构中视具体情况delete缓冲区;
      

  2.   

    IDL:
        YourFun([out,retval,string]BSTR bsYourStr);
    about BSTR:   Look out MSDN for detail
    VB Client:
        String str
        str = YourObject.YourFun();
    OK!
      

  3.   

    bfbd(八风不动):VB中没有指针类型呀??
    rationalMath(math):我试了,还是不行呀!!VB返回说是类型匹配错误。
    VC:
        [id(1), helpstring("method Hello")] HRESULT Hello([in,string] BSTR *src,[out,retval,string] BSTR *src2);VB:
    Dim v As Variant
    Dim s As String
    On Error GoTo Err
    Set a = CreateObject("Lijunming.Tryto")
     v = "kjg" s = a.Hello(v)//到这里出现类型匹配错误!
      

  4.   

    [id(1), helpstring("method Hello")] HRESULT Hello([in,string] BSTR src,[out,retval,string] BSTR *src2);