アップグレードを行うにあたっての注意事項
更新 : 2007 年 11 月
Visual Basic 2008 は、以前のバージョンの Visual Basic とは大きく異なります。.NET Framework の利点を活かすために一から設計されているため、多くの領域で以前のバージョンとの互換性が失われています。
メモ : |
---|
Visual Basic 2008 と Visual Basic 6.0 は、同じコンピュータにインストールして同時に実行できます。Visual Basic 2008 で作成されたアプリケーションと Visual Basic 6.0 で作成されたアプリケーションは、同じコンピュータ上にインストールして実行できます。Visual Basic 2008 で作成されたコンポーネントは、以前のバージョンの Visual Basic や他の言語で作成された COM コンポーネントと相互運用できます。 |
- ほとんどの場合は、Visual Basic 6.0 アプリケーションを Visual Basic 2008 にアップグレードすることにより、.NET Framework の利点を活かして開発を続けることができます。ただし、アップグレードせずに Visual Basic 6.0 で開発を続けたほうがよい場合もあります。アプリケーションをアップグレードするかどうかを決定する要素としては、Visual Basic 2008 でサポートされていない機能、非互換性やアーキテクチャ上の問題に起因する修正作業の量などがあります。
サポートされていない機能
Visual Basic 2008 ではサポートされていない Visual Basic 6.0 の機能を次に示します。詳細については、「Visual Basic 6.0 アプリケーションのアップグレードの準備」を参照してください。
OLE コンテナ コントロール Visual Basic 2008 には、これに相当するものはありません。このコントロールに依存するアプリケーションは、Visual Basic 6.0 のままにしておく必要があります。
ダイナミック データ エクスチェンジ (DDE: Dynamic Data Exchange) DDE メソッドはサポートされなくなりました。DDE を使用しているアプリケーションは、他の方法でアプリケーション間の通信を行うように修正するか、または Visual Basic 6.0 のままにしておく必要があります。
DAO または RDO へのデータ連結 DAO データ ソースまたは RDO データ ソースへのデータ連結は、Visual Basic 2008 ではサポートされていません。Data コントロールおよび RemoteData コントロールに対応する機能はありません。DAO および RDO にはコードからのみアクセスできます。DAO または RDO ヘのデータ連結を使用しているアプリケーションは、ADO を使用するように変更するか、または Visual Basic 6.0 のままにしておく必要があります。
Visual Basic 5.0 のコントロール Visual Basic 6.0 には、Visual Basic 5.0 版の Windows コモン コントロールおよびデータ連結グリッド (DBGrid) コントロールが含まれていました。これらのコントロールは、Visual Basic 2008 とは互換性がありません。これらのコントロールを使用しているアプリケーションは、6.0 バージョンを使用するように更新するか、または Visual Basic 6.0 のままにしておく必要があります。
DHTML アプリケーション Visual Basic 2008 には、これに相当するものはありません。ただし、DHTML アプリケーションは Visual Basic 2008 テクノロジと相互運用できます。
ActiveX ドキュメント Visual Basic 2008 には、これに相当するものはありません。ただし、DHTML アプリケーションは Visual Basic 2008 テクノロジと相互運用できます。ActiveX ドキュメントは、ユーザー コントロールとして作成し直すか、または Visual Basic 6.0 のままにしておく必要があります。
プロパティ ページ Visual Basic 2008 には、これに相当するものはありません。プロパティ ページに強く依存するアプリケーションは、Visual Basic 6.0 のままにしておく必要があります。
必要な修正作業量の確認
Visual Basic 6.0 と Visual Basic 2008 には多くの違いがあるため、ほとんどのアプリケーションでは、直接変換できない機能やその他の非互換性に関しての修正作業が必要になります。必要な修正作業の量は、アプリケーションの種類、機能、使用される言語構成要素など、いくつかの要素によって決まります。
必要な修正作業の量を最も簡単に知る方法は、Visual Basic アップグレード ウィザードを実行して、アップグレード レポートに示された項目のリストを見ることです。アプリケーションをアップグレードするときには、新しいコピーが作成され、元のアプリケーションは変更されません。レポートを見た後で、アップグレードしないことに決めた場合は、新しいプロジェクトを削除し、Visual Basic 6.0 で開発を続けることができます。
アップグレードするかどうかの決定に影響する可能性があるその他の要素を次に示します。
1 階層のデータベース アプリケーション DAO へのデータ連結がサポートされていないため、ローカル データベースに直接連結されたコントロールを使用する単純なアプリケーション (Microsoft Access で作成されたアプリケーションなど) では、相当な量の修正作業が必要になる場合があります。
Visual Basic アドイン Visual Basic 2008 は Visual Studio 統合開発環境を使用するため、機能拡張のためのオブジェクト モデルが Visual Basic 6.0 とは大きく異なります。アドインに対してはかなりの量の修正作業が必要になります。
ゲーム アーケード ゲームなど、Visual Basic 6.0 の特定のパフォーマンス特性に依存するアプリケーションは、Visual Basic 2008 のパフォーマンス特性が Visual Basic 6.0 とは異なるため、修正が必要になります。
グラフィックス フォームのグラフィックス メソッド、およびシェイプ コントロールやライン コントロールはサポートされていません。これらの機能を多く使用してフォーム上に描画しているアプリケーションでは、かなりの量の修正作業が必要になります。
ドラッグ アンド ドロップ機能 ドラッグ アンド ドロップ機能のモデルは大きく異なっています。ドラッグ アンド ドロップ操作を行うコードを書き直す必要があります。
バリアント型 アプリケーションをアップグレードすると、Variant データ型は Object 型に変換されます。アプリケーションでバリアント型が重要な役割を担っている場合は、この変換によってアプリケーションの動作がわずかに変化することがあります。たとえば、Visual Basic 6.0 の IsObject(Variant) 式は false に評価されますが、Visual Basic 2008 ではこの式が IsObject(Object) に変更され、評価結果は true になります。
Windows API 言語が変更されているため、Windows API の呼び出しの多くは、修正するか、.NET Framework 関数で置き換える必要があります。
参照
概念
Visual Basic 6.0 アプリケーションのアップグレードの準備