System.Win.ComObj.TTypedComObject
Delphi
TTypedComObject = class(TComObject, IProvideClassInfo)
C++
class PASCALIMPLEMENTATION TTypedComObject : public TComObject
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
class | public | System.Win.ComObj.pas System.Win.ComObj.hpp |
System.Win.ComObj | System.Win.ComObj |
説明
TTypedComObject は IProvideClassInfo インターフェースをサポートし,タイプライブラリのロードを要求しないで型情報を提供できる COM オブジェクト用のクラス型です。
TTypedComObject は,クラス識別子(CLSID)などのオブジェクトについての情報が不明な場合に,そのオブジェクトが自身のインターフェースおよび型を説明できるようにする IProvideClassInfo インターフェースをサポートします。TTypedComObject は IProvideClassInfo インターフェース用のタイプライブラリを必要とします。このクラスは,デュアルインターフェース(デフォルトで作成される)をサポートできるように,タイプライブラリを必要とする設計になっています。
IProvideClassInfo には TTypedComObject で実装される GetClassInfo メソッドがあり,このメソッドはタイプライブラリに入っているオブジェクトの CoClass の型情報へのアクセスを提供します。つまり,TTypedComObject がインスタンスを実行している場合,クライアントは IProvideClassInfo インターフェースに問い合わせれば,タイプライブラリをロードして操作し,オブジェクトの CoClass の ITypeInfo ポインタを検索しなくても型情報を取り出すことができます。
TTypedComObject をオブジェクトの基本クラスとして使用すると,ドラッグアンドドロップ操作で不明なオブジェクトを受け取った場合などに,タイプライブラリをロードしなくても型情報を提供できるので便利です。IProvideClassInfo を実装しなくてはならないオブジェクトは,ActiveX コントロールなどのカスタムイベントを利用するオブジェクトだけです。
メモ: 特定の言語での型情報は提供されません。現在のマシンでのユーザーの地域設定に正しく対応した型情報がロードされているものとみなされます。
GetClassClassInfo