次の方法で共有


■ COM コンポーネントの利用

  • プロジェクトをアップグレードすると自動的に利用可能に

変更ポイント

Visual Basic .NET から COM コンポーネントを利用することができます。COM コンポーネントを利用するためには 「参照設定」 を行ない、オブジェクトを生成して利用します (作業ベースでは Visual Basic 6.0 とほとんど変わりはありません)。

Visual Basic .NET では、COM 以外の一般のオブジェクトを作成する場合、New キーワードを利用し、CreateObject 関数は使用しません。そして、COM のオブジェクトを生成する場合は、New キーワードまたは CreateObject 関数を利用します。

アップグレードウィザードによる変更点

COM コンポーネントを利用している Visual Basic 6.0 のプロジェクトをアップグレードすると、COM コンポーネントを利用するための参照がプロジェクトに自動的に追加されます。そのため、ほとんどの場合、手動でコードを変更することなく COM コンポーネントを利用できます。

たとえば、次のようなCOM コンポーネントを利用する Visual Basic 6.0 のコードは、

                  
Dim x As MyProject.MyClass
Set x = New MyProject.MyClass
x.MyMethod1

アップグレードウィザードによって、次のように変更されます。


Dim x As MyProject.MyClass
x = New MyProject.MyClass()
x.MyMethod1()

なお、CreateObject 関数はそのままで、変更は行なわれません。

今、何をしておくべきか?

「COM コンポーネント」 と 「それを利用するプログラム」 は両方、またはどちらか一方のみを Visual Basic .NET にアップグレードして利用できます。COM で部品化しておくことで、段階的な.NET化が可能になります。

ただし、一方ずつアップグレードする場合、Visual Basic .NET のコード (マネージドコード) と COM のコード (アンマネージドコード) との相互運用のため、オーバーヘッドが生じてしまいます。

関連・補足項目

アップグレードウィザードウィザードを利用しない場合も、COM コンポーネントを簡単に利用できます。

Visual Studio .NET の 「ソリューションエクスプローラ」 からプロジェクト名を右クリックして、表示されるメニュー (図 1) から 「参照の追加」 を選択します。

「参照の追加」 ダイアログの 「COM」 タブ (図 2) から利用したい COM コンポーネントを選択すると、必要に応じて COM を利用するためのラッパークラスを生成してくれます。図 3 はこのとき表示されるメッセージです。

図 1:「参照の追加」 を選択

図 1:「参照の追加」 を選択

図 2:利用したい COM コンポーネントを選択

図 2:利用したい COM コンポーネントを選択

図 3:ラッパークラスの生成

図 3:ラッパークラスの生成