System.TObject.MethodAddress

From RAD Studio VCL Documentation (Japanese)
Jump to: navigation, search

Contents

Delphi の情報

ファイル System.pas

	class function MethodAddress(const Name: ShortString): Pointer; overload;
 
	class function MethodAddress(const Name: string): Pointer; overload;


ユニット: System

種類: メソッド

可視性: public

所属クラス: TObject

C++ の情報

ファイル System.hpp

	__classmethod void * __fastcall MethodAddress(const System::SmallString<255> & Name);
 
	__classmethod void * __fastcall MethodAddress(System::UnicodeString Name);


ユニット: System

種類: メソッド

可視性: public

所属クラス: TObject

説明

名前を指定すると、クラス メソッドのアドレスを返します。


あらかじめメソッド名をハード コーディングせずに、オブジェクトのメソッドを呼び出すことができると、便利な場合があります。メソッド名 Name を文字列として指定することによって、そのメソッドのアドレスを動的に取得するには、MethodAddress を呼び出します。

このメソッドを呼び出す簡単な方法は、次のように、プロシージャまたは関数のデータ型を定義することです。

type TProc = procedure of object;

オブジェクト名と MethodAddressTMethod 型の変数に代入します。

MethodVar.Data := Pointer(ObjectInstanceName);

MethodVar.Code := ObjectInstanceName.MethodAddress('MethodNameString');

そして、プロシージャまたは関数の型の変数を呼び出す際に、これを渡します。

Proc := TProc(MethodVar);

Proc;

関連リンク

Personal tools