如题
在C#中建立一个缓冲区byte[],要求传递该缓冲区到C++中的
C++的COM对象中,C++中的定义为什么,请组一个定义谢谢大家了.

解决方案 »

  1.   

    void __fastcall TForm1::MSComm1Comm(TObject *Sender)
    {
    AnsiString str; file://声明一个AnsiString类型的变量
    OleVariant s; file://声明一个用于接收数据的OleVariant变量。
    if(MSComm1->CommEvent==comEvReceive)
    // 接收缓冲区中是否收到Rthreshold个字符。
    {
    if(MSComm1->InBufferCount)// 是否有字符驻留在接收缓冲区等待被取出
    {
    s=MSComm1->Input;//接收数据
    str=s.AsType(varString); file://把接收到的OleVariant变量转换成AnsiString类型
    Memo1->Text=Memo1->Text+str;//把接收到的数据显示在Memo1中。
    }
    }
    } 可以参考一下!!
      

  2.   

    参考连接 COM 与 .NET 的桥梁(一) 预备知识
      

  3.   

    在Com中使用SafeArray来和C#等其它语言交换数组数据。
      

  4.   

    谢谢大家,问题已解决
    最后还是使用SAFEARRAY