- ベストアンサー
OCXのレジストリ登録
BCB5にて、OCXを作成しました。 開発環境では、もちろんレジストリ登録して(ツールがやってくれるんです)動作しています。 でも、他環境にそのOCXと関連DLL(と思われる)をインストールして、 REGSVR32 TARGET.OCX としても、エラーが出て登録できません。 エラーダイアログには、「Load Library(”Target.ocx”)failed. GetLastError returns 0x00000485」 と表示されます。これは、どんなエラーなのでしょうか? 関連DLLをインストールしたといいましたが、実はあんまり自信がありません。必要なDLLとは、どのようにしたら確実に判るものなのでしょうか? よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>GetLastError returns 0x00000485 ERROR_DLL_NOT_FOUND ですね。 日本語ですと、 「このアプリケーションの実行に必要なライブラリ ファイルの 1 つが見つかりません。 」 英語ですと、 「One of the library files needed to run this application cannot be found.」 ちなみに、GetLastErrorで取得できるエラー値は、winerror.hで定義されているものが多いです。 エラー内容を英語や日本語で取得するには、FormatMessageを使えば取得できます。 ということで、必要なDLLが不足しているのだと思われます。
その他の回答 (3)
- tsukasa-12r
- ベストアンサー率65% (358/549)
>>必要なDLLとは、どのようにしたら確実に判るものなの >VC++に、そのようなツールがあったと思います。 Borland 製品にも TDUMP.EXE というのがありますよ。 Borland C++ Compiler 5.5 に入ってました。 >TDUMP -em AAA.OCX で見れます。
お礼
アドバイスありがとうございました。 TDUMPで必要なDLLが判明しました。 で、結果的には、その中にボーランドのDLLと、olerror32.dllなるものがあって、それを一緒にインストールしたら、登録できるようになりました。 この度は本当にありがとうございました。
- ykkw_2001
- ベストアンサー率26% (267/1014)
>必要なDLLとは、どのようにしたら確実に判るものなの VC++に、そのようなツールがあったと思います。 あとは、BCのランタイムライブラリも一緒にインストールしてみてはどうでしょうか?
お礼
アドバイスありがとうございました。 結果的には、ボーランドのDLL(CC3250MT.DLLって、これ何なんでしょうね?)と、olerror32.dllなるものがあって、それを一緒にインストールしたら、登録できるようになりました。 この度は本当にありがとうございました。
補足
>VC++に、そのようなツールがあったと思います。 これは、つらいです。VC++を持っていないのです。 BCのランタイムが必要な可能性もあるのでしょうか?
- taka_tetsu
- ベストアンサー率65% (1020/1553)
ocxをフルパスで記述してもだめですか? エラーの意味は調べる環境が今ないのでしばらくしてから。 >関連DLL(と思われる)をインストールして、 これのインストール方法は?
お礼
アドバイスありがとうございました。 フルパスでも試してみましたが、ダメでしたが、 結果的には、ボーランドのDLL(CC3250MT.DLL)と、olerror32.dllなるものがあって、それを一緒にインストールしたら、登録できるようになりました。 この度は本当にありがとうございました。
補足
アドバイスありがとうございます。 インストールはBCB用の(付属の)InstallShield EXpress for C++Builderというものでしました。OCXと、関連DLL、(BorlndMM.DLL含む)を<WINSYSDIR>に対して、インストールするようにしました。 Windous¥systemにそれらがコピーされたのを確認しました。 また、SMTP系のものだったため、WSock32.dllがあるのも確認したのですが・・・
お礼
アドバイスありがとうございました。 エラーの意味、教えていただいて、トラブルの原因に確信をもてるようになりました. 結果的には、ボーランドのDLL(CC3250MT.DLL)と、olerror32.dllなるものがあって、それを一緒にインストールしたら、登録できるようになりました。 この度は本当にありがとうございました。