タイプ ライブラリ エディタ ウィンドウ
[表示]メニュー への移動
[表示|タイプ ライブラリ]
タイプ ライブラリの確認と変更を行うことができます。2009 の新機能は、タイプ ライブラリに新しいファイル タイプ .ridl が追加されたことです。タイプ ライブラリ エディタは、RIDL(制限付きインターフェイス定義言語)という専用のテキストベース形式でタイプ ライブラリの表示と保存を行います。COM オブジェクトを作成するときに、タイプ ライブラリ エディタが、必要な RIDL 構文を自動的に生成します。エディタで行った変更は、対応する実装クラス(ウィザードを使用して作成されたものの場合)に反映されます。タイプ ライブライは、プロジェクトをビルドまたは保存するときに .tlb ファイルとしても保存されます。
[表示|タイプ ライブラリ]コマンドは、タイプ ライブラリを持つプロジェクトにのみ使用できます。ActiveX ページに関するさまざまな COM 関連ウィザードでは、COM プロジェクトを作成するときにプロジェクトにタイプ ライブラリを自動的に追加します。
ActiveX ページに対しウィザードが作成したタイプ ライブラリは、[プロジェクト マネージャ]では .ridl ファイルとして表されます。.ridl
ファイルをダブルクリックすると、タイプ ライブラリ エディタ が開きます。.tlb
ファイル(RAD Studio 以外で作成されたものなど)を読み取り専用モードで表示するには、タイプ ライブラリ エクスプローラを使用します。
目次
GenTLB.exe
プロジェクトを保存またはビルドすると、タイプ ライブラリ コンパイラ(GenTLB.exe)によって実際のタイプ ライブラリ ファイル(.tlb
)が生成されます。その後、IDE のコマンドを使ってコンパイルやビルドを行うと、(GenTLB.exe ではなく)IDE によって .pas
ファイルまたは .cpp
ファイルが作成されます。
メモ: IDE を使用せずにコンパイルまたはビルドを行うと、
.tlb
ファイルと.pas
ファイルまたは.cpp
ファイルとが同期を保てない可能性があります。.tlb
ファイルと.pas
ファイルまたは.cpp
ファイルとを確実に同期させるには、IDE を使ってプロジェクトのコンパイルおよびビルドを行ってください。
タイプ ライブラリ エディタ ウィンドウ
タイプ ライブラリ エディタ ウィンドウに .ridl が表示されます。
このウィンドウの下端には、以下の 3 つのタブがあります。
- [コード]ページには
.ridl
(制限付きインターフェイス定義言語)コードが表示されます。このページで RIDL コードを編集できます。 - [デザイン]ページは、タイプ ライブラリ エディタのメイン ウィンドウです。[デザイン]ページの各タブでは、タイプ ライブラリを確認することができ、タイプ ライブラリの要素のプロパティは[デザイン]ページ上のフィールドで変更できます。
- [履歴]ページには、タイプ ライブラリの履歴が表示されます(「履歴マネージャ」を参照)。
[デザイン]ページのタブ: [デザイン]ページは、タイプ ライブラリ エディタの実際のウィンドウです。ウィンドウの端に表示される各種タブでは、オブジェクト リスト ペインで現在選択しているタイプ ライブラリ要素に関する詳細を表示します。表示されるタブは、オブジェクト リスト ペインで選択する項目によって異なります。たとえば、次のような内容を表示するタブがあります。
- [属性]ページは、オブジェクト リスト ペインで選択したオブジェクトに関する型情報を表示します。.
- [パラメータ]ページは、オブジェクト リスト ペインで選択したメソッドのパラメータを表示します。
- [フラグ]ページでは、現在選択している要素に関連付けられたフラグを表示します。
- [使用するオブジェクト]ページには、現在選択しているタイプ ライブラリが依存するタイプ ライブラリが表示されます。
すべてのタブについて、このトピックで後で詳しく説明します。
ツールバー
ツールバー ボタンを使用して、タイプ ライブラリの要素の作成、実装の更新、タイプ ライブラリの登録、および RIDL ファイルの .tlb ファイルとしての保存を行います。「ツールバー」を参照してください。
オブジェクト リスト ペイン
現在のタイプ ライブラリにある情報タイプのそれぞれのインスタンスがオブジェクト リストに表示され、固有のアイコンで示されます。アイコンを選択すると、右側の情報ペインにそのデータ ページが表示されます。
.ridl ファイルの[コード]ページ
RIDL コード(制限付きインターフェイス定義言語)内で現在選択されている要素の宣言が表示されます。このページでは、一度にすべての型情報を確認することができ、また、他のページを使用するよりすばやく変更を入力できます。
たとえば、パラメータのデフォルト値を変更するには、他の方法では手間がかかりますが、[検索|置換...]コマンドを使用して行えます。
.ridl ファイルの[デザイン]ページ
タイプ ライブラリ エディタのメイン ウィンドウです。オブジェクト リスト ペインで現在選択されている要素の詳細が表示されます。[デザイン]ページでは、オプションの設定やクリア、特定のプロパティの指定や選択ができます。
.ridl ファイル ウィンドウの上部にあるツールバーを使用して、インターフェイス、メソッド、プロパティなどの新しい要素をタイプ ライブラリに作成できます。「ツールバー」を参照してください。
[デザイン]ページ上部に表示される各種タブでは(このトピックで後述します)、オブジェクト リスト ペインで現在選択している要素に関するさまざまな種類の情報を表示します。
.ridl ファイルの[履歴]ページ
「履歴マネージャ」を参照してください。
[属性]ページ
オブジェクト リスト ペインで現在選択しているオブジェクトに関する型情報を表示します。コントロールを使用して、これらの値を編集できます。表示される属性は、選択した要素固有のものです。
項目 | 説明 |
---|---|
[名前] |
タイプ ライブラリの内容がわかる名前。名前には空白や句読点を入れることはできません。 |
[GUID] |
タイプ ライブラリ インターフェイス(ITypeLib の子孫)のグローバルに一意な 128 ビット識別子。 |
[登録場所] |
システム内でタイプ ライブラリが登録されている場所。 |
[バージョン] |
ライブラリに複数のバージョンがある場合、ライブラリの特定のバージョン。バージョンは、ピリオドで区切られた 10 進整数の組み合わせか、単独の 10 進整数のいずれかです。整数の最初の 2 桁はメジャー バージョン番号を表し、次の桁はマイナー バージョン番号を表します。単独の整数が使用されている場合は、メジャー バージョン番号を表します。メジャー、マイナー両バージョン番号は、0 ~ 65535(両端含む)の short 型符号なし整数です。 |
[LCID] |
タイプ ライブラリとその要素内のすべてのテキスト文字列に使用される単独の言語を記述するローカル識別子。 |
[DispID] |
インターフェイスのディスパッチ ID 番号。インターフェイス/ディスパッチ インターフェイスの特定のメンバを識別します。[DispID]は、オートメーション オブジェクトのメンバを呼び出すときに、クライアントが使用します。 |
[V-Table オフセット] |
インターフェイス内のプロパティに対してのみ表示されます。プロパティの順番を指定します。 |
[ヘルプ文字列] |
タイプ ライブラリの簡単な説明。[ヘルプ コンテキスト ID]と共に使用され、ヘルプ ファイルとしてヘルプを提供します。この文字列は、ヘルプ ファイル作成時に[ヘルプ コンテキスト ID]にマッピングされます。 |
[ヘルプ コンテキスト ID] |
タイプ ライブラリのメイン ヘルプの ヘルプ コンテキスト ID。この ID は、ヘルプ ファイル内のヘルプ トピックを識別します。 |
[ヘルプ文字列コンテキスト ID] |
ヘルプ DLL の場合、タイプ ライブラリのメイン ヘルプの ヘルプ コンテキスト ID。[ヘルプ文字列検索用DLL]と共に使用され、独立した DLL としてヘルプを提供します。 |
[ヘルプ ファイル] |
タイプ ライブラリに関連付けられているヘルプ ファイルがある場合、そのヘルプ ファイル名(.chm または .hlp)。 |
[ヘルプ文字列検索用 DLL] |
ヘルプに使用する DLL がある場合、その完全修飾名。 |
メモ: タイプ ライブラリ エディタでは、2 つのヘルプ提供方法をサポートします。ライブラリに対し標準の Windows ヘルプ ファイルを作成してきた従来のヘルプ方式と、ヘルプを含む独立した DLL(ローカライズ目的)です。[ヘルプ]属性の適用対象となるヘルプ ファイルを用意する必要があります。
[フラグ]ページ
[属性]ページで指定したオブジェクトを変更する各種属性を一覧表示します。このページは、特定の要素でのみ使用可能です。
タイプ ライブラリ要素によっては、特定の特性や暗黙の機能を有効または無効にできるフラグを持つ場合があります。[フラグ]ページには、チェックボックス一覧が表示され、そのフラグのオン/オフを切り替えることができます。
[implements]ページ
オブジェクト リスト ペインで CoClass を選択した場合にのみ使用可能です。CoClass が実装するインターフェイスの一覧を表示します。このページを使用して、オブジェクトに関連付けられているインターフェイスを変更したり、そのプロパティを変更したりします。
項目 | 説明 |
---|---|
[インターフェイス] |
その CoClass がサポートするインターフェイスまたはディスパッチ インターフェイスの名前。インターフェイスやディスパッチ インターフェイスの名前は、インターフェイスを選択したときに[属性]ページで割り当てたものです。 |
[GUID] |
インターフェイスのグローバル一意識別子。この列は、情報提供するのみです。値は変更できません。 |
[ソース] |
インターフェイスがイベント ソースとして機能するかどうかを示します。機能する場合、CoClass はインターフェイスを実装しません。それよりも、クライアントがインターフェイスを実装し、CoClass はイベント発生時にこのインターフェイスを使用してそれらを呼び出します。 |
[デフォルト] |
インターフェイスまたはディスパッチ インターフェイスがデフォルト インターフェイスを表すことを示します。これは、クラスのインスタンスが作成されるときにデフォルトで返されるインターフェイスです。CoClass には、最大 2 つのデフォルト メンバを持つことができます。1 つはプライマリ インターフェイスを表し、もう 1 つはイベント ソースとして機能するオプションのディスパッチ インターフェイスを表します。 |
[アクセス制限] |
この項目をプログラマからは使用できなくします。インターフェイスはアクセス制限とデフォルト両方の属性を持つことはできません。 |
[VTable] |
(IDispatch 呼び出しとは逆に)VTable を使用してインターフェイス メソッドを呼び出せるかどうかを示します。この列は、情報提供するのみです。値は変更できません。 |
[パラメータ]ページ
オブジェクト リスト ペインでプロパティやメソッドを選択した場合にのみ使用可能です。パラメータを設定し、メソッドの値を返すことができます(プロパティ アクセス メソッドを含む)。
項目 | 説明 |
---|---|
[名前] |
パラメータ名を表します。値を直接編集できます。 |
[型] |
パラメータのデータ型を表します。[型]列をクリックすると表示されるドロップダウン リストから、使用可能な型を選択します。 |
[デフォルト値] |
任意のパラメータの[修飾子]列をクリックして開く[パラメータ フラグ]ダイアログで、[デフォルト値を持つ]をオンにすると、[デフォルト値]に値を指定できます。それ以降のパラメータはすべて任意でなければなりません。それ以前の任意のパラメータにもデフォルト値を持たせる必要があります。Object Pascal の場合、ローカル ID はパラメータ型の指定子 TLCID を使用して指定します。IDL では、これはパラメータ修飾子を使用して指定します。 |
[使用するオブジェクト]ページ
オブジェクト リスト ペインでタイプ ライブラリを選択した場合にのみ使用可能です。このタイプ ライブラリが依存する定義を含む他のタイプ ライブラリの一覧を表示します。
依存関係を追加するには、タイプ ライブラリ名の左にあるボックスをオンにします。オンにすると、そのタイプ ライブラリ内の定義をこのタイプ ライブラリで使用できます。追加するタイプ ライブラリがリストにない場合は、右クリックして[すべてのタイプ ライブラリを表示]を選択します。
依存関係を削除するには、タイプ ライブラリ名の左にあるボックスをオフにします。
他のタイプ ライブラリを表示する場合は、右クリックして[タイプ ライブラリを表示]を選択します。
[COM+]ページ
COM+ とともにインストールする CoClass に MTS または COM+ 属性を付けてインストールするトランザクション オブジェクトのトランザクション属性を、このページを使用して変更できます。
このページでは、作成するときに[トランザクション オブジェクト ウィザード]を使用しなかったオートメーション オブジェクトにも使用でき、IDE がそれらのオブジェクトを MTS パッケージや COM+ アプリケーションにインストールする方法にも影響します。しかし、ウィザードを使用して作成していないオブジェクトは、IObjectControl のサポートを自動的にインクルードしません。つまり、有効化、無効化を通知されない(そのため、OnActivate イベントや OnDeactivate イベントを持たない)ということです。また、ObjectContext プロパティもありません。そのため、グローバル GetObjectContext 関数を呼び出して、オブジェクト コンテキストを取得する必要があります。
メモ: MTS パッケージにインストールされる場合は、[トランザクション モデル]属性のみ使用され、他の設定はすべて無視されます。MTS 下にオブジェクトをインストールする場合は、インプロセス サーバー内のオートメーション オブジェクト(DLL)でなければなりません。
警告: COM+ ページで指定した属性は、タイプ ライブラリではカスタム データとしてエンコードされます。このデータは Delphi 以外では認識されません。そのため、IDE からトランザクション オブジェクトをインストールする場合にのみ影響があります。その他の方法でオブジェクトを配置すると、これらの設定は MTS エクスプローラや COM+ コンポーネント マネージャを使用して明示的に設定する必要があります。
項目 | 説明 |
---|---|
[呼び出しの同期] |
COM+ のみ: オブジェクトがアクティビティにどのように参加するかを決定します。スレッド モデルが提供する以上の同期サポートを追加提供します。 |
[トランザクション モデル] |
トランザクション属性を指定し、オブジェクトがトランザクションに参加するのなら、どのように参加するかを示します。取り得る値は、オブジェクトの配置が MTS 下か COM+ 下かによって異なります。トランザクション属性でトランザクションをサポートすると示す場合、[ジャストインタイム起動]を有効にする必要があります。 |
[オブジェクト プーリング] |
COM+ のみ: オブジェクト インスタンスをプールできるかどうかを決定します。[オブジェクト プーリング]を有効にしているとき、オブジェクトがどこにも属さない状態にしておくことはユーザーの責任です。 |
[作成タイムアウト] |
COM+ のみ: プールされたオブジェクトが解放されるまでに、そのオブジェクト プールにとどまる時間をミリ秒で指定します。 |
[インプロセス サブスクライバを許可] |
CoClass が COM+ イベント オブジェクトを表す場合にのみ適用可能です。インプロセス アプリケーションがイベント オブジェクトのクライアントとして関与を登録できるかどうかを指定します。 |
[並行に発生] |
CoClass が COM+ イベント オブジェクトを表す場合にのみ適用可能です。COM+ はイベントを並行して(複数スレッドで)発生させるのか、または、同じスレッドで 1 つずつ発生させるのかを指定します。 |