Object Pascal のインターフェイス

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

Object Pascal データ型および言語概念のサポート への移動


Object Pascal のコンパイラは、インターフェイスを扱うときに、細部にわたって多くの処理を自動的に行います。 アプリケーション コードがインターフェイス ポインタを取得するとインターフェイスの参照カウントを自動的に増やし、そのインターフェイスがスコープから外れると参照カウントを自動的に減らします。

Appmethod C++ では、DelphiInterface テンプレート クラスが、このような便利な機能の一部を C++ のインターフェイス クラスに提供します。 Object Pascal のインターフェイス型を使用する Appmethod ライブラリのプロパティおよびメソッドに対して、C++ ラッパーは、ベースとなるインターフェイス クラスを使用してビルドされた DelphiInterface を用います。

DelphiInterface のコンストラクタ、コピー コンストラクタ、代入演算子、およびデストラクタはすべて、必要に応じて参照カウントを増減します。 ただし、DelphiInterface は、Object Pascal でコンパイラがインターフェイスにサポートする機能ほど、便利ではありません。 ベースとなるインターフェイス ポインタにアクセスする他の演算子は、参照カウントを処理しません。処理をどこで行うのが適切か、クラスが必ず指示できるわけではないからです。 明示的に AddRef または Release を呼び出して、参照カウントを適切に保つ必要があります。

トピック

関連項目