COM オブジェクトのインスタンス生成モード
[オートメーション オブジェクト ウィザード]の使用 への移動
多くの COM ウィザードでは、オブジェクトのインスタンス生成モードを指定する必要があります。インスタンス生成モードによって、クライアントが 1 つの実行可能ファイルの中でオブジェクトのインスタンスをいくつ作成できるかが決まります。たとえば[単一インスタンス]モデルを指定した場合、クライアントが一度オブジェクトをインスタンス化すると、COM がそのアプリケーションを見えなくしてしまうため、他のクライアントは各自でアプリケーションのインスタンスを起動しなければなりません。これはアプリケーション全体の表示機能に影響するため、このインスタンス生成モードは、クライアントがインスタンス化できるアプリケーション内のすべてのオブジェクトで統一しなければなりません。つまり、同じアプリケーション内で、[単一インスタンス]モードのオブジェクトと[多重インスタンス]モードのオブジェクトを両方作成してはなりません。
メモ: COM オブジェクトがインプロセス サーバーとしてのみ使用される場合、インスタンス生成モードは無視されます。
ウィザードで COM オブジェクトを新規作成するときに、インスタンス生成モードを以下から指定することができます。
[インスタンス生成] | 意味 |
---|---|
[内部] |
オブジェクトは内部でしか作成できません。外部アプリケーションでこのオブジェクトのインスタンスを直接作成することはできません。ただし、アプリケーション内部でオブジェクトを作成し、そのインターフェイスをクライアントに渡すことは可能です。 |
[単一インスタンス] |
クライアントでは、実行可能ファイル(アプリケーション)ごとにオブジェクトのインスタンスを 1 つだけ作成することができます。つまり、複数のインスタンスを作成するには、アプリケーションのインスタンスを複数起動することになります。各クライアントは、専用のサーバー アプリケーション インスタンスを使用します。 |
[多重インスタンス] |
複数のクライアントが同じプロセス空間内にオブジェクトのインスタンスを複数作成できることを示します。 |