System.TypInfo.GetSetProp
Delphi
function GetSetProp(Instance: TObject; const PropName: string; Brackets: Boolean): string;
function GetSetProp(Instance: TObject; PropInfo: PPropInfo; Brackets: Boolean): string;
C++
extern DELPHI_PACKAGE System::UnicodeString __fastcall GetSetProp(System::TObject* Instance, const System::UnicodeString PropName, bool Brackets = false)/* overload */;
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
function | public | System.TypInfo.pas System.TypInfo.hpp |
System.TypInfo | System.TypInfo |
説明
集合型であるコンポーネント プロパティの値を返します。
GetSetProp は、Delphi の RTTI(Run Time Type Information:実行時型情報)を利用して、値の集合の型であるコンポーネント プロパティの現在の値を返します。
この関数の 1 つの形式では、オブジェクト インスタンス(Instance)のプロパティを PropInfo レコードで定義します。GetPropInfo および GetPropList を使うと、このようなレコードを取得することができます。
この関数のもう 1 つの形式では、プロパティの名前、PropName を明示的に指定します。
関数のいずれの形式でも、集合の値のリストがカンマ区切りの文字列として返されます。必要に応じて Brackets を true に設定すると、IDE でプロパティを表示するときのように、これを角括弧で囲むことができます。
この関数の本質的な価値は、プロパティ名をハード コーディングしなくてもコンポーネント プロパティを取得できる点にあります。これにより、実行時にビジュアル コンポーネントの処理をまとめて行うことができます。
GetPropValue を使うと、型が不明なプロパティの値を取得することができます。この値は Variant 型として返されます。
メモ: 指定したプロパティが存在しない、またはパブリッシュされたプロパティでない場合には、EPropertyError 例外が送出されます。