TObject::ClassInfo - C++ Builder

C++ Builder 参考手册SystemTObjectClassInfo


头文件:#include <systobj.h>
命名空间:System
函数原型:

__classmethod void *__fastcall ClassInfo();

System::TObject::ClassInfo 是 System::TObject 的成员函数,返回运行时类型信息表 (RTTI table)。

  • 返回运行时类型信息表 (RTTI table):(根据分析源码得到的) 返回的是 Typinfo::TTypeInfo * 类型的数据;
  • 不是所有的类都提供 RTTI 信息表,如果没有提供,返回值为 NULL;
  • 从 TPersistent 继承的类会提供 RTTI 信息表。

例:通过属性名称 (字符串) 获取属性的值:获取 Label1 控件的 L"Caption" 属性的值。

例子:通过属性名称 (字符串) 获取属性的值
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    TObject *lpControl = Label1;          // 获取这个控件的
    UnicodeString sPropName = L"Caption"; // 这个属性的值
    Typinfo::TTypeInfo *lpTypeInfo = (Typinfo::TTypeInfo *)lpControl->ClassInfo();
    if(lpTypeInfo)
    {
        Typinfo::TPropInfo *lpPropInfo = Typinfo::GetPropInfo(lpTypeInfo, sPropName);
        if(lpPropInfo)
        {
            UnicodeString sValue = Typinfo::GetStrProp(lpControl, lpPropInfo);
            Memo1->Lines->Add(sValue);
        }
    }
}

运行结果:

运行结果:通过属性名称 (字符串) 获取属性的值

参考:


C++ Builder 参考手册SystemTObjectClassInfo

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • C++ Builder 参考手册[//www.greatytc.com/p/d059131d1c4c] ...
    玄坴阅读 1,782评论 1 2
  • C++ Builder 参考手册[//www.greatytc.com/p/d059131d1c4c] ...
    玄坴阅读 998评论 2 3
  • 一. Java基础部分.................................................
    wy_sure阅读 3,840评论 0 11
  • 1. Java中的多态性理解(注意与C++区分) Java中除了static方法和final方法(private方...
    小敏纸阅读 1,463评论 0 19
  • 信仰 我和你面对面坐着 你有半边脸颊是白的 我看着黑夜在蔓延 眼睛没有闪躲的昨天 我相信你不怕下雨 因为下雨日子才...
    月階霜滿除阅读 191评论 6 2