随笔 - 730  文章 - 40 评论 - 17 阅读 - 67万

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

posted on   lypzxy  阅读(707)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示