0
문자열 데이터를 다른 형식으로 변환하는 ConvertFunction이있는 작은 프로그램이 있습니다. 함수의 반환 유형은 Variant입니다. StrToIntDef를 사용하여 정수 값을 변환하면 오류없이 수행됩니다.델파이에서 StrtoInt64Def로 변환 오류
이제는 정수가 너무 커서 정수 대신 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;
D5에 int64 유형을 포함 할 수있는 변형 유형을 확인하십시오. 델파이 소스를 검색하고 varType 함수 및 varString과 같은 상수에 대한 도움말을 검색 할 수 있습니다. 그렇지 않은 경우 - 변형에 대해 int64 지원을 구현해야합니다. 또한 임시 int64 var를 소개하고 두 줄에 함수를 작성하십시오. 아마도 것들을 바꿀 수는 없지만 때로는 컴파일러에 이상한 버그와 과부하가 있습니다. –
D5는 int64를 저장하는 변형 유형을 지원하지 않습니다. – Nalu
그러면 구현할 수 있습니다. 또는 CodeTyphon으로 전환하십시오. –