こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

OCXのレジストリ登録

BCB5にて、OCXを作成しました。
開発環境では、もちろんレジストリ登録して(ツールがやってくれるんです)動作しています。
でも、他環境にそのOCXと関連DLL(と思われる)をインストールして、
REGSVR32 TARGET.OCX
としても、エラーが出て登録できません。
エラーダイアログには、「Load Library(”Target.ocx”)failed.
GetLastError returns 0x00000485」
と表示されます。これは、どんなエラーなのでしょうか?
関連DLLをインストールしたといいましたが、実はあんまり自信がありません。必要なDLLとは、どのようにしたら確実に判るものなのでしょうか?
よろしくお願いします。

投稿日時 - 2004-01-28 19:25:19

QNo.763643

困ってます

質問者が選んだベストアンサー

>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が不足しているのだと思われます。

投稿日時 - 2004-01-29 10:17:30

お礼

アドバイスありがとうございました。
エラーの意味、教えていただいて、トラブルの原因に確信をもてるようになりました.
結果的には、ボーランドのDLL(CC3250MT.DLL)と、olerror32.dllなるものがあって、それを一緒にインストールしたら、登録できるようになりました。
この度は本当にありがとうございました。

投稿日時 - 2004-01-29 12:42:19

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.3

>>必要なDLLとは、どのようにしたら確実に判るものなの
>VC++に、そのようなツールがあったと思います。
Borland 製品にも TDUMP.EXE というのがありますよ。
Borland C++ Compiler 5.5 に入ってました。
>TDUMP -em AAA.OCX
で見れます。

投稿日時 - 2004-01-29 02:02:10

お礼

アドバイスありがとうございました。
TDUMPで必要なDLLが判明しました。
で、結果的には、その中にボーランドのDLLと、olerror32.dllなるものがあって、それを一緒にインストールしたら、登録できるようになりました。
この度は本当にありがとうございました。

投稿日時 - 2004-01-29 12:37:23

ANo.2

>必要なDLLとは、どのようにしたら確実に判るものなの
VC++に、そのようなツールがあったと思います。

あとは、BCのランタイムライブラリも一緒にインストールしてみてはどうでしょうか?

投稿日時 - 2004-01-28 21:14:41

補足

>VC++に、そのようなツールがあったと思います。

これは、つらいです。VC++を持っていないのです。
BCのランタイムが必要な可能性もあるのでしょうか?

投稿日時 - 2004-01-28 21:30:45

お礼

アドバイスありがとうございました。
結果的には、ボーランドのDLL(CC3250MT.DLLって、これ何なんでしょうね?)と、olerror32.dllなるものがあって、それを一緒にインストールしたら、登録できるようになりました。
この度は本当にありがとうございました。

投稿日時 - 2004-01-29 12:41:02

ANo.1

ocxをフルパスで記述してもだめですか?
エラーの意味は調べる環境が今ないのでしばらくしてから。

>関連DLL(と思われる)をインストールして、
これのインストール方法は?

投稿日時 - 2004-01-28 20:58:44

補足

アドバイスありがとうございます。
インストールはBCB用の(付属の)InstallShield EXpress for C++Builderというものでしました。OCXと、関連DLL、(BorlndMM.DLL含む)を<WINSYSDIR>に対して、インストールするようにしました。
Windous¥systemにそれらがコピーされたのを確認しました。
また、SMTP系のものだったため、WSock32.dllがあるのも確認したのですが・・・

投稿日時 - 2004-01-28 21:24:50

お礼

アドバイスありがとうございました。
フルパスでも試してみましたが、ダメでしたが、
結果的には、ボーランドのDLL(CC3250MT.DLL)と、olerror32.dllなるものがあって、それを一緒にインストールしたら、登録できるようになりました。
この度は本当にありがとうございました。

投稿日時 - 2004-01-29 12:39:09

あなたにオススメの質問