System.TypInfo.GetPropInfo

提供: Appmethod Libraries
移動先: 案内検索

Object Pascal

function GetPropInfo(TypeInfo: PTypeInfo; const PropName: string): PPropInfo;
function GetPropInfo(TypeInfo: PTypeInfo; const PropName: string; AKinds: TTypeKinds): PPropInfo;
function GetPropInfo(Instance: TObject; const PropName: string; AKinds: TTypeKinds): PPropInfo;
function GetPropInfo(AClass: TClass; const PropName: string; AKinds: TTypeKinds): PPropInfo;

C++

extern DELPHI_PACKAGE PPropInfo __fastcall GetPropInfo(PTypeInfo TypeInfo, const System::UnicodeString PropName)/* overload */;

プロパティ

種類 可視性 ソース ユニット
function public
System.TypInfo.pas
System.TypInfo.hpp
System.TypInfo System.TypInfo

説明

コンポーネントのプロパティに関する情報を取得します。

GetPropInfo は、Object Pascal の RTTI(Run Time Type Information:実行時型情報)を利用して、コンポーネントのプロパティ情報レコードへのポインタを取得します。

この関数の最初の形式では、TypeInfo にプロパティを取得したいコンポーネントの型を指定します。PropName にはプロパティ名を文字列で指定します。必要であれば、TTypeKind の集合である AKinds に、プロパティが属していなければならないプロパティ値型を指定することができます。

関数の 2 番目の形式は、最初のものに似ていますが、TypeInfo の代わりに AClass が含まれていて、コンポーネントの型を指定することができます。この場合は AKinds は必須です。

関数の最後の形式は、2 番目のものと同様ですが、Instance にコンポーネント インスタンスを指定します。

関数のいずれの形式でも、戻り値は TPropInfo 値へのポインタです。ここから、実行時に詳しく調べたいプロパティに関して豊富なデータを得ることができます。これにより、コンポーネントの名前やプロパティをハード コーディングした場合に比べて、より洗練されたコンポーネント処理を行うことができます。

メモ:  指定したプロパティが存在しない場合には、nil ポインタが返されます。

関連項目