各路大神关于MSCOmm接收字节型数据流的有关问题

求助各路大神关于MSCOmm接收字节型数据流的问题
小弟最近做一个BCB中用MSComm的通讯问题,pc与单片机通讯,单片机要发给计算机十进制的数据,但是我在接收端总是出现错误,程序如下
OleVariant RxBuff;

if(MSComm1->CommEvent==comEvReceive)
   {
   if(MSComm1->InBufferCount)
     {

       len=MSComm1->InBufferCount;
      RxBuff=VarArrayCreate(OPENARRAY(int,(0,len-1)),varByte);
      RxBuff=MSComm1->Input;
     
      for(i=0;i<=len;i++)
        *aRxBuff=RxBuff.GetElement(i);
        //ShowMessage(a[0]);
//      Memo1->Text=Memo1->Text+IntToStr(aRxBuff[0])+'\x0d'+'\x0a';

     }
   }

最后想显示出来,求助各位大神,总显示数据溢出或者数据位置不对
MSCOMM

------解决方案--------------------

void __fastcall MSComm1Comm(TObject *Sender)
{
  String temp;
  byte buff[100];
  int ByteNum;
  OleVariant RxBuff;
  if(MSComm1->CommEvent==comEvReceive)
  {
      if(MSComm1->InBufferCount>0)
     {
        RxBuff = MSComm1->Input;
        ByteNum = RxBuff.ArrayHighBound();
        for(int i=0;i<=ByteNum;i++)
        buff[i]=RxBuff.GetElement(i);
        temp=IntToHex(buff[0],2);
        Memo1->Text+=temp;
    }
 }
}