delphi中的StrtoInt64Def转换错误

delphi中的StrtoInt64Def转换错误,delphi,delphi-5,Delphi,Delphi 5,我有一个小程序,有ConvertFunction,可以将字符串数据转换成其他格式。函数的返回类型是Variant。当我使用StrToIntDef转换整数值时,它不会有任何错误 但是现在我的数字非常大,所以我想用int64代替integer。当我使用strotint64def函数转换它的giving me error时,不兼容的类型:Variant和int64 下面是两个代码。你知道这有什么不对吗 工作: function Convertfunction(sTest:String):Variant

我有一个小程序,有ConvertFunction,可以将字符串数据转换成其他格式。函数的返回类型是Variant。当我使用StrToIntDef转换整数值时,它不会有任何错误

但是现在我的数字非常大,所以我想用int64代替integer。当我使用strotint64def函数转换它的giving me error时,不兼容的类型: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;

Delphi5似乎在int64和variant之间没有股票转换器。如果你在应用程序中需要它,你可以

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

检查变量类型是否可以在D5中包含int64类型。您可以在Delphi源代码和帮助中搜索VarType函数和常量,如varString。如果不支持,则必须对variant实现int64支持。同时尝试引入临时int64变量,并用两行代码编写函数。可能不会改变什么,但有时编译器会有奇怪的错误和疏忽。D5不支持变量类型来存储int64。然后您可以实现它。或者切换到codetypon