System.TypInfo.GetObjectPropClass

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

Object Pascal

function GetObjectPropClass(Instance: TObject; const PropName: string): TClass;
function GetObjectPropClass(Instance: TObject; PropInfo: PPropInfo): TClass;
function GetObjectPropClass(PropInfo: PPropInfo): TClass;

C++

extern DELPHI_PACKAGE System::TClass __fastcall GetObjectPropClass(System::TObject* Instance, const System::UnicodeString PropName)/* overload */;

プロパティ

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

説明

オブジェクト型であるコンポーネント プロパティのクラス型を返します。

GetObjectPropClass は、Object Pascal の RTTI(Run Time Type Information:実行時型情報)を利用して、オブジェクトであるコンポーネント プロパティのクラス型を返します。

この関数の 1 つの形式では、オブジェクト インスタンス(Instance)のプロパティを PropInfo レコードで定義します。GetPropInfo および GetPropList を使うと、このようなレコードを取得することができます。

この関数のもう 1 つの形式では、プロパティの名前、PropName を明示的に指定します。

関数のいずれの形式でも、プロパティのオブジェクト値のクラス型が返されます。

この関数の本質的な価値は、プロパティ名をハード コーディングしなくてもコンポーネント プロパティを取得できる点にあります。これにより、実行時にビジュアル コンポーネントの処理をまとめて行うことができます。

GetPropValue を使うと、型が不明なプロパティの値を取得することができます。この値は Variant 型として返されます。

メモ:  指定したプロパティが存在しない、またはパブリッシュされたプロパティでない場合には、EPropertyError 例外が送出されます。

関連項目