Проблема заключается в packed record
объявлении, тип упакованной записи становится типом записи в X64, поэтому вы должны удалить «упакованную» из «упакованной записи» в объявлении и вместо этого использовать ALIGN
директиву.
{$ALIGN 8}
TBigCardinalVarData = record
VType: TVarType;
Reserved1, Reserved2, Reserved3: Word;
BigCardinalPtr: PBigCardinal;
Reserved4: LongWord;
end;
для получения дополнительной информации прочитайте эти записи
Delphi Compiler Changes for XE2
- Преобразование 32-битных приложений Delphi в 64-битную Windows