2011年1月20日木曜日

Visual Basic 6.0 のコントロールを Visual Studio .NET で使用する方法

WindowsPCのインストールが発生するたびに引っかかるのがこの問題です。単に使いたいOCXをコピーしただけでは、エラーが発生してしまいます。

【現 象】
Visual Basic 6.0 に含まれていた ActiveX コントロール(OCX)が使われている Visual Studio .NET のダイアログ(form)を呼び出すと、下記のようにエラーメッセージが表示されます。
Microsoft Development Environment
ActiveXコントロール "Micronsoft FlexGrid Control, version 6.0" はデザインタイム ライセンスを必要とするためインスタンス化できません。

【解決方法】
方法は下記の2つの方法があります。
  • 方法 1 : Visual Basic 6.0 を Visual Studio .NET コンピュータにインストールする
  • 方法 2 : ライセンス キーをレジストリに追加する 。
    1. ¥Extras¥VB6 Controls フォルダのある Visual Studio .NET インストール ディスクをCD-ROM ドライブまたは DVD-ROM ドライブに挿入します。
    2. ¥Extras¥VB6 Controls フォルダを参照し、VB6Controls.reg ファイルをダブルクリックします。
    3. レジストリ エディタ
      ¥Extras¥VB6 Controls¥vb6controls.reg 内の情報をレジストリに追加しますか?
      「はい(Y)」を選択(クリック)します。

    4. レジストリ エディタ
      ¥Extras¥VB6 Controls¥vb6controls.reg の情報が、レジストリに正しく入力されました。
      「はい(Y)」を選択(クリック)します。
      これで完了です。しかし、VS.NET 2002 の場合は上記では一部問題が発生します。

方法2を実行して、Micronsoft FlexGrid Control が使用されたプログラムのダイアログ(VC++で再現しています。)を表示させると下記のようにエラーが表示されます。

Microsoft Development Environment
2 ActiveXコントロールをインスタンス化できません。
コントロールを再インストールするかまたは再登録してから再度行って下さい。
マイクロソフトのサイトでは、下記のように表示されています。

* Visual Studio .NET 2002 の VB6Controls.reg ファイルには、FlexGrid Control 6.0 のライセンスに誤りがあります。Visual Studio .NET 2003 の VB6Controls.reg ファイルでは、この誤りが修正されています。

注 : 修正された Vb6control.reg ファイルを入手するには、Visual Studio 使用許諾契約が必要です。このサポート サービスは無償で提供されます。

上記のように、チョット面倒な内容であり稀にしか行わない作業なので書き留めておかないと忘れてしまいますね。(^_^)v

0 件のコメント:

コメントを投稿