soFromCurrent is an ordinal constant:
const
...
soFromCurrent = 1;
By using soFromCurrent, you are forcing the compiler to call the 32-bit
version of Seek():
function Seek(Offset: Longint; Origin: Word): Longint; overload;
virtual;
The 64-bit version of Seek() takes a TSeekOrigin enum instead of an ordinal:
type
TSeekOrigin = (soBeginning, soCurrent, soEnd);
function Seek(const Offset: Int64; Origin: TSeekOrigin): Int64;
overload; virtual;
So, in your code, you need to specify 'soCurrent' instead of 'soFromCurrent'
so that the 64-bit version can be called:
RFile.Seek(MyRecord.JSize, soCurrent);
Partager