■ ActiveX コントロール
ActiveX コントロールも引き続き利用可能
ラッパークラス、参照設定が必要
オーバーヘッドあり
ActiveX コントロールは、相互運用機能を提供するラッパークラスがあれば、利用可能です。 Visual Basic .NET では、このラッパークラスが自動生成されるため簡単に利用できます。ツールボックスを右クリックすると表示されるショートカットメニューから[ツールボックスのカスタマイズ]をクリックして表示されるダイアログ (図 14) を利用して、 ActiveX コントロールをツールボックスに追加します。コントロールをフォーム上に配置すると、必要な参照設定も追加され、簡単に利用できるようになります。
図 14:「ツールボックスのカスタマイズ」 ダイアログ
しかし、すでに紹介したように、COM と .NET 間の相互運用には、オーバーヘッドが避けられません。できるだけ対応する Windows コントロール、または .NET Framework コンポーネントを使ってください。また、サードパーティ製、あるいは自作の ActiveX コントロールも、同じ機能をもつ .NET バージョンのコントロールに置き換えていくことをお勧めします。
自作の ActiveX コントロールのアップグレードについては、第 3 章の 「コンポーネント」 を参照してください。
ActiveX コントロールを利用したプロジェクトをアップグレードすると、 ActiveX コントロールを利用するために必要なラッパークラスが自動的に生成され (図 15) 、必要な参照設定が追加されます (図 16)。そのまま ActiveX コントロールを利用することも可能ですが、オーバーヘッドを考慮し、対応するコントロールがあれば、修正するとよいでしょう。
図 15:アップグレードウィザードによって自動的にラッパークラスが生成される
図 16:参照設定も自動的に行なわれる
Visual Studio .NET による自動変換以外にも、コマンドラインから AXImp.exe (ActiveX Control Importer) を利用することで、手動で相互運用のためのラッパーを作成することも可能です。