Variant的内容类型的字符串表示?

Ali*_*tcu 6 delphi rtti delphi-2009 typeinfo

首先,为我的英语道歉,我希望我在这里写的是有道理的.现在我的问题.

如何使用TypInfo.GetEnumName()获取Variant 的内容类型的字符串表示形式.我试过以下,没有运气,我得到一个数字表示.

myString := GetEnumName( TypeInfo(TVarType), TVarData(myVar).VType );
Run Code Online (Sandbox Code Playgroud)

谢谢.

The*_*Fox 12

只需使用内置的Delphi函数来获取Variant类型的字符串表示.

var
  MyVariantType: string;
  MyVariant: Variant;
begin
  MyVariant := 'Hello World';
  MyVariantType := VarTypeAsText(VarType(MyVariant));
  ShowMessage(MyVariantType); //displays: String

  MyVariant := 2;
  MyVariantType := VarTypeAsText(VarType(MyVariant));
  ShowMessage(MyVariantType); //displays: Byte
end;
Run Code Online (Sandbox Code Playgroud)