Delphi Class Declarations (__declspec)
クラス:インデックス への移動
構文
__declspec(<decl-modifier>)
説明
<宣言修飾子> 引数は delphiclass か pascalimplementation のいずれかです。これらの引数は、次のように、Delphi クラスから派生したクラスに対してのみ使用する必要があります。
- __declspec(delphiclass) は、TObject から直接または間接に派生したクラスの前方宣言に使用します。
- __declspec(pascalimplementation) 修飾子は、Delphi 言語で実装されたクラスであることを示す場合に使用します。この修飾子は、Delphi の移植性のために用意されているヘッダー ファイル(拡張子は .hpp)で使用されます。
メモ: 別の引数 delphireturn は内部的に使用されるもので、C++ クラスで関数呼び出し時にパラメータと戻り値に関して Delphi 互換の処理が行われるように指定します。
delphiclass 引数は、次のような互換性を持つクラスを作成するために使用します。
- Delphi 互換の RTTI
- Delphi 互換のコンストラクタ/デストラクタ動作
- Delphi 互換の例外処理
Delphi 互換クラスには次のような制限があります。
- 仮想基底クラスや多重継承は使用できません。
- グローバル演算子 new を使って動的に割り当てる必要があります。
- コピー コンストラクタおよび代入コンストラクタは明示的に定義する必要があります。Delphi 派生クラスに対しては、コンパイル時にこれらのコンストラクタは自動的には用意されません。
- 別の Delphi クラスからパブリックに継承する必要があります。