System.TypInfo.GetPropInfo
Delphi
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 は、Delphi の RTTI(Run Time Type Information:実行時型情報)を利用して、コンポーネントのプロパティ情報レコードへのポインタを取得します。
この関数の最初の形式では、TypeInfo にプロパティを取得したいコンポーネントの型を指定します。PropName にはプロパティ名を文字列で指定します。必要であれば、TTypeKind の集合である AKinds に、プロパティが属していなければならないプロパティ値型を指定することができます。
関数の 2 番目の形式は、最初のものに似ていますが、TypeInfo の代わりに AClass が含まれていて、コンポーネントの型を指定することができます。この場合は AKinds は必須です。
関数の最後の形式は、2 番目のものと同様ですが、Instance にコンポーネント インスタンスを指定します。
関数のいずれの形式でも、戻り値は TPropInfo 値へのポインタです。ここから、実行時に詳しく調べたいプロパティに関して豊富なデータを得ることができます。これにより、コンポーネントの名前やプロパティをハード コーディングした場合に比べて、より洗練されたコンポーネント処理を行うことができます。
メモ: 指定したプロパティが存在しない場合には、nil ポインタが返されます。