■ ActiveX コントロール

  • ActiveX コントロールも引き続き利用可能

          ラッパークラス、参照設定が必要

          オーバーヘッドあり

変更ポイント

ActiveX コントロールは、相互運用機能を提供するラッパークラスがあれば、利用可能です。 Visual Basic .NET では、このラッパークラスが自動生成されるため簡単に利用できます。ツールボックスを右クリックすると表示されるショートカットメニューから[ツールボックスのカスタマイズ]をクリックして表示されるダイアログ (図 14) を利用して、 ActiveX コントロールをツールボックスに追加します。コントロールをフォーム上に配置すると、必要な参照設定も追加され、簡単に利用できるようになります。

図 14:「ツールボックスのカスタマイズ」 ダイアログ

図 14:「ツールボックスのカスタマイズ」 ダイアログ

しかし、すでに紹介したように、COM と .NET 間の相互運用には、オーバーヘッドが避けられません。できるだけ対応する Windows コントロール、または .NET Framework コンポーネントを使ってください。また、サードパーティ製、あるいは自作の ActiveX コントロールも、同じ機能をもつ .NET バージョンのコントロールに置き換えていくことをお勧めします。

自作の ActiveX コントロールのアップグレードについては、第 3 章の 「コンポーネント」 を参照してください。

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

ActiveX コントロールを利用したプロジェクトをアップグレードすると、 ActiveX コントロールを利用するために必要なラッパークラスが自動的に生成され (図 15) 、必要な参照設定が追加されます (図 16)。そのまま ActiveX コントロールを利用することも可能ですが、オーバーヘッドを考慮し、対応するコントロールがあれば、修正するとよいでしょう。

図 15:アップグレードウィザードによって自動的にラッパークラスが生成される

図 15:アップグレードウィザードによって自動的にラッパークラスが生成される

図 16:参照設定も自動的に行なわれる

図 16:参照設定も自動的に行なわれる

PlusOne

Visual Studio .NET による自動変換以外にも、コマンドラインから AXImp.exe (ActiveX Control Importer) を利用することで、手動で相互運用のためのラッパーを作成することも可能です。