![你该知道的 TValue 你该知道的 TValue](https://image.shishitao.com:8440/aHR0cHM6Ly9ia3FzaW1nLmlrYWZhbi5jb20vdXBsb2FkL2NoYXRncHQtcy5wbmc%2FIQ%3D%3D.png?!?w=700&webp=1)
你该知道的 TValue
Represents a lightweight version of the Variant type.
TValue is a data structure that can store different kinds of data types. TValue is used in the Rtti unit to ease the access to fields and method parameters.
System.Rtti
var
av: TValue;
begin
av.AsInteger;
av.AsString;
var
av: TValue;
akind: TTypeKind;
begin
av := 8;
av.TypeData;
akind := av.TypeInfo.Kind;//变量类型
self.Caption := av.TypeInfo.Name;//变量类型名称
av.AsInteger;
av.AsString;
if not Value.IsEmpty then
if Value.IsType<string> then
if Value.IsType<TBitmapSurface> then
Bitmap.Assign(Value.AsType<TBitmapSurface>);
Value.AsType<TBitmapSurface>.Free;
ov: OleVariant;
tv: TValue;
ov := 'hello';
tv := TValue.From<OleVariant>(ov);
self.Caption := tv.AsString;
tv := TValue.FromVariant(ov);
TValue.From<String>
TValue
.
From<
Boolean
>
学习
http://www.cnblogs.com/hezihang/p/3280470.html