独自ocxをregsvr32で登録出来ない。

[戻る]
そら 2004/12/15(水) 11:46:36
はじめまして。
regsvr32で自作ocxを登録の際、LoadLibraryエラーとなってしまいます。
同じようなご経験のある方、ご教授お願い致します。

WIN2000 professional、VC++6.0 SP5.0、の環境でocxを作成しました。
この時点で、作成したocxの登録はできていました。

新たに、VC++6.0 SP5.0で作成したdllを呼び出すことになり、ocxからdllを呼び出す処理を追
加しました。コンパイルをおこない、ocxの登録をするとLoadLibraryとなります。

「エラーメッセージ」
LoadLibrary("ocxフルパス")failed - 指定されたモジュールが見つかりません。

ocxを登録するためには、他にどうすればよろしいのでしょうか。
よろしくお願いします。

シャノン 2004/12/15(水) 12:16:45
dll が ocx から見える場所に置かれていますか?
dll が ocx に暗黙リンク(LoadLibrary ではなく、インポートライブラリを使用したリ
ンク)されている場合、dll が見つからないと、LoadLibrary( ocx ) は失敗します。

そら 2004/12/15(水) 13:36:39
シャノンさん回答ありがとうございます。

dll が ocx から見える場所に置かれているか
ということですが暗黙リンクをしておりません。そのため、見える場所に置かれている(同じフ
ォルダ内)と思うのですが、見当違いでしょうか?

よろしくお願いします。

そら 2004/12/15(水) 17:46:21
[[解決]]
自己解決しました。

すみません。確認不足でした。
必要なdllが足らず、発生していたエラーでした。

VisualStudioツールから Dependency Walker を起動し、ocxを確認したところ、「?」の
dllがあり、それがLoadLibraryになかったためocxの登録ができなかったと思われます。

回答を頂いたシャノンさん、この質問を見て対策を考えて頂いた方全てに感謝します。
ありがとうございました。

古いスレッドには追加発言できません。