VB プロジェクトは問題なく動作しましたが、プロジェクトを開くと mscomctl.ocx でエラーが発生します。ocx を再登録しましたが、まだプロジェクトをロードできません。
この問題を解決するにはどうすればよいですか?
あなたのプロジェクトはocxへの参照を失ったようです(まだいくつかのコントロールを使用しようとしています)
IDEの「プロジェクト」メニューで「コンポーネント」をクリックします
リストで「Microsoft Windows Common Controls 6.0 (sp6)」がチェックされていることを確認します...既にチェックされている場合は、それを削除し、プロジェクトを閉じて (保存して)、プロジェクトを開いて、もう一度オンにします
これと同じエラーが発生しました。これらの2つのことが私のために働いた:
また
それが役に立てば幸い。
再登録してみてくださいMSCOMCTL.OCX
:
c:\windows\system32\
コマンドプロンプトを開き、これを実行します:
cd c:\windows\system32
regsvr32 MSCOMCTL.OCX
アプリケーションを再度実行してみてください。
Windows 7 64 ビット; VS6 と VS6 SP6 をインストールしたばかりですが (問題あり)、Win XP のプロジェクトで「MSCOMCTL.OCX を読み込めませんでした」というエラーが発生しました。
Nathan Hadley の回答が手がかりを与えてくれ、プロジェクトを開くことができました.... プロジェクトの userinterface.vbp ファイル (Win XP からコピー) には、MSCOMCTL.OCX 参照の横に #2.2 がありましたが、私のレジストリ クラス ID は2.1のみ。そこで、userinterface.vbp エントリを 2.1 に変更すると、プロジェクトが正常に開きました。
ただし、翌日、VB6 SP6 累積更新プログラム VB60SP6-KB2708437-x86-ENU を再度実行したところ (初回は正しくインストールされなかった可能性があります)、レジストリにバージョン 2.2 が含まれています。そのため、userInterface.vbp ファイルを元に戻して、OCX 参照がもう一度 #2.2 になるようにしましたが、プロジェクトは引き続き正しく開き、すべて正常に実行されます。
プロジェクト ファイル (.vbp ファイル) をメモ帳で開くこともできます。次のような内容が表示されます。
Type=Exe
Form=frmComFX.frm
Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\Windows\SysWOW64\stdole2.tlb#OLE Automation
Object={648A5603-2C6E-101B-82B6-000000000014}#1.1#0; MSCOMM32.OCX
Object={5E9E78A0-531B-11CF-91F6-C2863C385E30}#1.0#0; MSFLXGRD.OCX
Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; MSCOMCTL.OCX
Form=frmSetup.frm
Module=modFX; modFX.bas
IconForm="frmComFX"
Startup="frmComFX"
HelpFile=""
Title="ComFX"
Command32=""
Name="comFX"
「object-」で始まる行には、ocx が登録されているレジストリ キーが含まれています。これで、regedit (開始 - 実行 - regedit) を開いて、このキーを検索できます。 Visual Basic のインストールや完全なウィンドウを台無しにする可能性があります :)
もちろん、Visual Basic を削除して再インストールし、登録を元に戻すこともできます。