@H_403_1@在Delphi 7中,int64s是签名的,如果我尝试声明一个大于$8000000000000000的十六进制常量(例如,什么是真正的uint64)我得到一个错误.你能告诉一些解决方法吗?
解决方法
您可以像这样制作变体记录
type muint64 = record case boolean of true: (i64 : int64); false:(lo32,hi32: cardinal); end;
现在你可以使用红衣主教用无符号数据填充你的uint64.
另一种选择是使用这样的代码:
const almostmaxint64 = $800000045000000; var muint64: int64; begin muint64:= almostmaxint64; muint64:= muint64 shl 1; end