超奇怪的问题
下面函数,在独立一个简单的项目,一个FORM,运行完全正常,但把代码原封不动的加入到其它项目后,调用出错。
同一台电脑,同一版本,连传入的数据都是一样的。 出错的代码是 RANGE CHECK ERROR,出错的代码:myint=mlint xor 1
谁能解释得通?
function TForm1.getcardint(cardsn: string): integer;
var mlint: Cardinal;
myint: integer;
bi: int64;
begin
bi := strtoint64(cardsn);
if bi >= 2147483648 then
begin
mlint := bi;
myint :=mlint XOR 1;
myint := myint - 1;
end
else
myint := bi;
result := myint;
end;