TObject::FieldAddress - C++ Builder

C++ Builder 参考手册 ➙ System ➙ TObject ➙ FieldAddress


头文件:#include
命名空间:System
函数原型:

void *__fastcall FieldAddress(const ShortString &Name);
void *__fastcall FieldAddress(const UnicodeString Name);

System::TObject::FieldAddress 是 System::TObject 的成员函数,通过成员名称返回成员的地址

参数:
Name:成员的名称

返回值:
成员的地址:如果成员是 __published: 访问权限,返回值是成员指针的地址,即成员指针的指针;
NULL:如果成员不是 __published: 访问权限,或者没有这个名称的成员。


例:通过 "Memo1" 这个名称,找到 Form1 上的 Memo1 控件,并且在这个控件里面输出文字。

由窗口设计编辑的控件,都在 __published: 里面,这正符合 FieldAddress 的要求,可以使用这个函数通过名称找到控件的地址,如下面截图所示:

在 Form1 上的 Memo1 控件
由窗口设计编辑的控件都在 __published: 里面
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    TMemo **lplpMemo = (TMemo **)this->FieldAddress(L"Memo1");
    if(lplpMemo)
    {
        (*lplpMemo)->Lines->Add(L"测试 FieldAddress -- 玄坴");
    }
}

运行结果:

运行结果

参考:

  • C++ Builder 的 PME 架构
  • C++ Builder 枚举控件所有的属性、事件和方法
  • System::TObject::MethodAddress
  • System::TObject::MethodName
  • System::TObject::ClassInfo
  • System::TObject::ClassType
  • System::TObject::ClassName
  • System::TObject::ClassNameIs
  • System::TObject::QualifiedClassName
  • System::TObject
  • VCL 类继承关系

C++ Builder 参考手册 ➙ System ➙ TObject ➙ FieldAddress

你可能感兴趣的:(TObject::FieldAddress - C++ Builder)