主页C++ Builder 资料C++ Builder 参考手册VCL 基础类TObject
C++ Builder 串口控件
C++ Builder 编程技巧
C++ Builder 操作指南
C++ Builder 参考手册
基础知识
cfloat 浮点数
cmath 数学函数
cstdlib 标准库函数
System 字符串
System 日期和时间
System.Math.hpp 数学函数
其他数据类型
VCL 基础类
 • TObject
   · 方法
   · TObject
   · ~TObject
   · Free
   · DisposeOf
   · InitInstance
   · NewInstance
   · InstanceSize
   · FreeInstance
   · CleanupInstance
   · ClassType
   · ClassName
   · ClassNameIs
   · QualifiedClassName
   · UnitName
   · UnitScope
   · ClassParent
   · ClassInfo
   · InheritsFrom
   · MethodAddress
   · MethodName
   · FieldAddress
   · GetInterface
   · GetInterfaceEntry
   · GetInterfaceTable
   · Equals
   · GetHashCode
   · ToString
   · SafeCallException
   · AfterConstruction
   · BeforeDestruction
   · Dispatch
   · DefaultHandler
 • TPersistent
 • TInterfacedPersistent
 • TComponent
 • TControl
 • TGraphicControl
 • TGraphicsObject
VCL 应用程序
Pictures 图片
Graphics 绘图
Additional 控件
System 控件
A ~ Z 字母顺序排列的目录
网友留言/技术支持
TObject::MethodName - 通过方法的地址返回函数名称

TObject::MethodName:通过方法的地址返回函数名称

通过方法的地址返回函数名称。

函数原型:

__classmethod UnicodeString __fastcall MethodName(void *Address);

头文件:

#include <System.hpp>

命名空间:

System

参数:

Address:成员函数的地址,即 __closure 指针转为 TMethod 对象之后的 TMethod 的 Code 成员,这和 MethodAddress 方法得到的地址是一样的,这个函数和 MethodAddress 函数互为逆运算。

返回值:

成员函数的函数名,如果成员函数在 __published: 访问权限区域;
空字符串,如果成员函数不在 __published: 访问权限区域,或者这个地址不是这个对象的成员函数。

例子:

class TMyObject : public TObject
{
__published:
  virtual void __fastcall Func(void)
   {
     ShowMessage(L"Number = " + IntToStr(Number));
   }
public:
  int Number;
};
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  TMyObject *Obj = new TMyObject;
  Obj->Number = 12345;

  void __fastcall (__closure *p)(void) = &Obj->Func;
  TMethod *Method = (TMethod *)&p;
  ShowMessage(L"函数名:" + Obj->MethodName(Method->Code));

  delete Obj;
}
//---------------------------------------------------------------------------

兼容性:

函数 \ C++ Builder 编译器 bcc32 clang32 clang64
TObject::MethodName

相关链接:

MethodAddressFieldAddressTObject::ClassTypeTObject::ClassNameTObjectVCL基础类

◤上一页:MethodAddress下一页:FieldAddress

C++ 爱好者 -- Victor Chen 的个人网站 www.cppfans.com 辽ICP备11016859号