__published (C++)

提供: RAD Studio
移動先: 案内検索

C++ 拡張キーワード への移動



カテゴリ

拡張キーワード

構文

__published: <declarations>

説明

__published は VCL フレームワークをサポートするために追加されたキーワードです。

__publiched キーワードは、クラスがコンポーネント パレットにある場合、__published セクション内のプロパティが[オブジェクト インスペクタ]に表示されることを指定します。__published セクションを用意できるのは、TObject から派生したクラスだけです。

published メンバの可視性規則は public メンバの規則とまったく同じです。 published メンバと public メンバの違いは、__published セクションで宣言されたデータ メンバやプロパティに対しては Delphi 形式の実行時型情報(RTTI)が生成される点だけです。RTTI により、RTTI がないと不明なクラス型のデータ メンバ、メンバ関数、プロパティをアプリケーションで動的に問い合わせることができるようになります。

メモ: __published セクションで使用できるのは、プロパティ、Pascal 組み込みのデータ メンバまたはライブラリに由来するデータ メンバ、メンバ関数、クロージャです。__published セクションで定義されるフィールドはクラス型であることが必要です。__published セクションで定義されるプロパティは、配列プロパティ以外でなければなりません。 __published セクションで定義されるプロパティの型は、順序型、実数型、文字列型、小集合型、クラス型、メソッド ポインタ型のいずれかであることが必要です。
注意: クラスの公開されたセクションで、定数とポインタを使用してクロージャを宣言する場合は、次のようにポインタに typedef を使用します。
  typedef int*
  typedef void _fastcall (_closure MyClosure)(const IntPtr piVal);

関連項目