假设数据包格式:
type
  TCmd = packed record
  FHead: array[0..1] o Byte;
  FData: array[0..7] o Byte;
  FSum: Byte;
  FTail: Byte;
  end;var
  CurCmd: TCmd;
在发送过程中SendCmd:procedure SendCmd;
var
  p: PChar;
begin
  p := PChar(@CurCmd);  Comm_Send(p, SizeOf(TCmd));  //发送成功的;end;  现在如果把CurCmd的内容存放到一个数组里,再处理好象就有问题了:
procedure test;
var
  p: PChar;
  tmpCmd: TCmd;
  tmpArray: Array[0..200] of char;
begin
  p := PChar(@CurCmd); //
  move(p^, tmpCmd, SizeOf(TCmd));  //复制到相同结构的内存, OK;
  move(p^, tmpArray, SizeOf(TCmd));  //复制到数组, 内容并非我期望的内容,数组前面元素好象是CurCmd的 地址数据;
  Comm_Send(tmpArray, SizeOf(TCmd)); //发送内容当然不正确了。  
end;问题:在不用一个一个赋值的前提下,我怎样使得:
1、将结构中的数据写入Array;
2、将Array中的内容转化为TCmd。