Nie mogłem znaleźć żadnego wyjaśnienia na temat TVarData w x64. W Pomocy jest strona, ale wygląda na to, że TVarData w x64 i TVarData w x86 są różne. Właściwie to próbuję skompilować DEHL dla celu x64. Ale mówi "Nieprawidłowy typecast" na tej linii: (Źródło jest TVarData)TVarData Różnice między x86 i x64 Delphi
Big := TBigCardinalVarData(Source).BigCardinalPtr^;
I TBigCardinalVarData jest tutaj:
TBigCardinalVarData = packed record
VType: TVarType;
Reserved1, Reserved2, Reserved3: Word;
BigCardinalPtr: PBigCardinal;
Reserved4: LongWord;
end;
To kompiluje w x86, ale ona odmawia kompilacji w x64. Myślę, że problem tkwi w zmiennych Word i LongWord. Ale nie mogłem tego jeszcze wymyślić.
doskonały, dzięki. :) – oruchreis
Zmieniłem się w ten sposób '{$ IFDEF CPUX64} {$ ALIGN 8} {$ ENDIF} TBigIntegerVarData = {$ IFDEF CPUX86} spakowany rekord {$ ENDIF }' – oruchreis