I'm trying to port a project from Delphi 7 to the new Delphi XE4 and I'm facing a problem with the move function :
{Create a temp record buffer}
HoldRec := AllocMem(RecordSize);
{Fill the temp record buffer with the current record}
move(ActiveBuffer^, HoldRec^, RecordSize); //Here the E2017 Error
The compiler throw an : [dcc32 Error] E2017 Pointer type required
, error when arrive at the move statement ...
Why ? In Delphi 7 it compile without any problem, why Delphi XE4 doesn't compile ?
The declaration section is as follows :
FBuffers: TBufList;
HoldRec : PChar;
FActiveRecord :integer;
function TDataSet.ActiveBuffer: TRecBuf;
begin
Result := FBuffers[FActiveRecord];
end;