StrtoInt64Def在delphi中转换错误

时间:2014-01-07 17:14:12

标签: delphi delphi-5

我正在使用ConvertFunction的小程序,它将字符串数据转换为其他格式。函数的返回类型是Variant。当我使用StrToIntDef转换整数值时,它没有任何错误。

但是现在我的数字非常大,所以我想使用int64而不是整数。当我使用StrToInt64def函数转换它给我的错误,不兼容的类型:Variant和int64。

以下是两个代码。这有什么想法吗?

工作:

function Convertfunction(sTest:String):Variant;
begin
  result:= StrtoIntDef(sTest,0);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  sString: string;
  value:variant;
begin
  sString:= '123456';
  value:= Convertfunction(sString);
  showMessage(value);
end;

不工作:

function Convertfunction(sTest:String):Variant;
begin
  result:= StrtoInt64Def(sTest,0);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  sString: string;
  value:variant;
begin
  sString:= '12345678901';
  value:= Convertfunction(sString);
  showMessage(value);
end;

1 个答案:

答案 0 :(得分:0)

Delphi 5似乎没有int64和variant之间的库存转换器。如果您在应用程序中需要它,您可以

  • 实施它(参见“自定义变体类型”手册)
  • 切换到更新的Delphi
  • 切换到CodeTyphon或其他Lazarus / FPC发行版