-1
我需要在Delphi中複製packed record
到TByteDynArray
。將打包記錄複製到delphi(10西雅圖)的TByteDynArray
PMyRec = ^TMyRec;
TMyRec = packed record
Header: THeaderRec;
Timestamp: TTimeStamp; // time of event
PLoc: TLocationRec;
A: word;
end;
下面是我有這樣做的代碼片段。
xxx: TByteDynArray;
m_arr : TMyRec;
SetLength(xxx,sizeof(TMyRec));
offset := offset + sizeof(THeaderRec);
System.Move(xxx[offset], m_arr.Timestamp ,sizeof(TTimeStamp));
offset := offset + sizeof(TTimeStamp);
System.Move(xxx[offset], m_arr.PLoc,sizeof(TLocationRec));
這似乎不能正確複製。有人可以指出我是否做錯了什麼?
目前還不清楚你實際上要怎樣做。你想達到什麼目的?最簡單的方法是直接將記錄作爲線性內存塊直接移動到數組中,但由於不清楚您的意圖是什麼,很難看出該解決方案是否可行。 –