2013-04-15 37 views
30

VB6 IDEでプロジェクト - >コンポーネント...を介してMicrosoft Rich Textbox Control 6.0 (SP6)コントロールを追加しようとしました。コントロールはコントロールのリストにあります。私はそれをチェックして、[OK]を/ [適用]をクリックしたとき、私はObject library not registeredエラーを取得:Microsoftリッチテキストボックスコントロール6.0(SP6)を追加するときに「オブジェクトライブラリが登録されていません」

VB6 IDE Object library not registered error

環境を最新の更新プログラム、VB6 SP6 + KB957924を持つWindows 7 SP1 x64のです。 richtx32.OcxC:\Windows\SysWOW64\に存在します。

私は、昇格したコマンドプロンプトでこれを実行することにより、.ocxの再登録しようとした:

cd c:\windows\SysWOW64 
regsvr32 /u richtx32.Ocx 
regsvr32 richtx32.Ocx 

登録が正常に完了しますが、問題は解決しません。

API Monitorで何が起こっているのかを見ると、最も疑わしい電話はLoadRegTypeLib ({7c0ffab0-cd84-11d0-949a-00a0c91110ed}, 0x0001, 0x0000, LOCALE_NEUTRAL, 0x0018e82c)で、TYPE_E_LIBNOTREGISTEREDです。

+1

のような他の古い.OCXファイルを手伝ってくれました私はそこから来て、それは私の問題によく合います。それは同じ解決策を持っているようです。 http://stackoverflow.com: はhttp://stackoverflow.com/q/15614730/828499 – Semmel

+0

また、このソリューションは、[1] [1] [Windowsコモンコントロール6.0を追加するとオブジェクトライブラリが登録されていません]に適用されます/ questions/15614730/object-library-not-registered-windows-common-controls-6-0 –

答えて

53

問題は、昇格したコマンドプロンプトで次のように実行することによって解決されました:

cd C:\Windows\SysWOW64\ 
regtlib msdatsrc.tlb 

これはまた、関連する質問がありますGraph32.ocxとThreed32.ocx

+0

ありがとうございました!それは実際にMSCOMCTL.OCXで私の問題を修正しました。それが何であるか、それがどのように機能するかについてのより深い洞察はありますか? – Semmel

+3

@Semmelそれは非常に基本的なCOMの知識にまでこだわります。問題の根本原因は、特定のインタフェースがシステムに登録されていないことでした。明らかな解決策は、タイプライブラリに不足しているインタフェースの記述を登録することでした。それが 'regtlib'のやり方です。まだ混乱している場合は、このリンクを試してみてください。http://msdn.microsoft.com/en-us/library/windows/desktop/aa366757.aspx –

+1

32ビットWindows 7マシンでこの同じ問題が発生しました。修正は同じですが、 'regtlib'は**' C:\ Winodws \ System32' **にあります。 – raven

関連する問題