3

VB6 プロジェクトを開こうとすると、「オブジェクト ライブラリが登録されていません」というエラーが表示されます。

マシンは 64 ビットです。以下を試してみましたが、「'regtlib' は内部または外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません」というエラーがスローされました。

cd C:\Windows\SysWOW64
regtlib msdatsrc.tlb

'C:\Windows\Microsoft.NET\Framework64\v4.0.30319'フォルダには'regtlibv12'ファイルがあります。そのフォルダで試し'regtlibv12 msdatsrc.tlb'ましたが、役に立ちませんでした。

フォーラムの 1 つで、Internet Explorer 10 のアンインストールが解決策であると読みました。それを試してみましたが、役に立ちませんでした。

ご提案をいただければ幸いです。

4

3 に答える 3

1

再構築された Windows 7 64 ビット マシンでは、まだ維持している VB6 アプリケーションでこのエラーが発生していました。

SysWoW64 で MSCOMCTL.OCX の再登録を複数回試み、プロジェクト参照を 2.0 から 2.1 に変更し、提供された他のすべてのソリューションを試しました。最後に、MSCOMCTL.OCX を使用して新しいプロジェクトを作成し (再登録後)、プロジェクト ファイルを保存し、メモ帳で開きました。私の VBP では、共通コントロール ライブラリが次のように参照されていることに気付きました。

Reference=*\G{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.1#0#..\..\Windows\SysWOW64\MSCOMCTL.OCX#Microsoft Windows Common Controls 6.0 (SP6)

作業中のプロジェクトでは、次のように参照されていました。

Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.1#0; mscomctl.ocx

オブジェクト参照を使用するように変更すると、問題が修正されました。これがコンポーネント参照ではなくプロジェクト参照であり、このプロジェクトはマシンの再構築の前に正常にコンパイルされていた理由がわからないことに注意してください。

于 2015-02-10T14:53:29.927 に答える
1

regtlb.exe は、タイプ ライブラリを登録するために使用されます。古い Windows バージョンでは、通常、次の場所にあります。

c:\windows\system32\RegTlb.exe

.Net Framework は新しいバージョンをもたらします。

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\regtlibv12.exe
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\regtlibv12.exe

*.tlb ファイルを登録できるはずです

regtlibv12.exe file.tlb

そして登録解除

regtlibv12.exe -u file.tlb

タイプ ライブラリへのフル パスを使用する .Net フォルダーをオンにする場合は、両方のファイルにアクセスできることを確認する必要があります。

もちろん、実際にファイルが存在する必要があります。そうしないと、登録が機能しません。

于 2014-06-19T21:21:34.690 に答える