






























近日发现fpc aarch64-win64的bug: 将TSmallPoint赋值为一个负数,并赋值给TPoint时得到一个错误的值:655xx的数值:
program project2; uses classes,sysutils; var P: TSmallPoint; MP: TPoint; begin p.X:=123; p.Y:=-2; MP:= p; WriteLn('p.y='+(P.Y).ToString); WriteLn('MP.y='+(MP.Y).ToString); end.

在fpc未修复之前,用Smallint强制转换就可以值得正确的数值:
program project2; uses classes,sysutils; var P: TSmallPoint; MP: TPoint; begin p.X:=123; p.Y:=-2; MP:= p; WriteLn('p.y='+(P.Y).ToString); WriteLn('MP.y='+(MP.Y).ToString); WriteLn('SmallInt(MP.y)='+(SmallInt(MP.Y)).ToString); end.

此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。