当调用的时候,出现variant is not an array错误
客户端在线程中调用如下函数
var
  DataRequestMsgTmp: TDataRequestMsg;
  V: OleVariant;
  MyBuffer: Pointer;
begin
  DataRequestMsgTmp.MsgID := Msg_SaveRecordInfo;
  Move(pData^, DataRequestMsgTmp.pRData, SizeOf(TRecordData));
  V := VarArrayCreate([0, SizeOf(TDataRequestMsg)], VarByte);
  MyBuffer := VarArrayLock(V);
  Move(DataRequestMsgTmp, MyBuffer^, SizeOf(TDataRequestMsg));
  VarArrayUnlock(V);
  CustomerData.ClientDS.Close;
  CustomerData.ClientDS.DataRequest(V);服务端
function TDataConnectModule.DataSetProviderOPDataRequest(Sender: TObject;
  Input: OleVariant): OleVariant;
var
  intA: Integer;
  MyBuffer: Pointer;
  DataRequestMsgTmp: TDataRequestMsg;
  strResult: String;
  V: OleVariant;
begin
  //数据解开
  MyBuffer := VarArrayLock(Input);
  Move(MyBuffer^, DataRequestMsgTmp, SizeOf(TDataRequestMsg));
  VarArrayUnlock(Input);
end;