你该知道的 TValue

你该知道的 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

原文地址:https://www.cnblogs.com/cb168/p/5509690.html