DLLが読み込めない

解決


あきたいぬ  2007-12-27 00:37:31  No: 144208

いつもお世話になっております。
ここで、質問していいものか迷ったのですが、他に頼れるところもなく。。。
ご存知の方いらっしゃったらコメントお願いします。

開発環境はVS2005 ProfessionalのVBとVB2005Expressを使用しています。
同じくVS2005 VC++で作成したDLLを 例えば
   Public Declare Function IniFunc Lib "FuncCntl.dll" () As Integer
のように、モジュールに定義し、IniFunc()関数を実行したところ、
Professional版のほうでは問題なく動作するのですが、Express版では
「DLLを読み込めません。〜(HRESULT からの例外: 0x800736B1)」
となってしまいます。

Professional版からインストーラを作成し、Express版の入ったPCに
インストールし、EXEファイルを実行してみてもやっぱりDLLを読み込め
なかったようなエラーがでました。

これは、VC++のDLLのほうに原因があるのでしょうか?
それともExpress版だからでしょうか?

EXEファイルから実行できないのはExpress版だからとかいう問題では
ないような気がします。

どなたかご教授よろしくお願いします。


らすかる  2007-12-27 02:33:32  No: 144209

全く自信がないのですが、興味がある内容だったので、
1つ確認していただいて宜しいでしょうか?

開発環境の使用しているフレームワークのバージョンは一致しているのに
起こっているんですよね?

一致しているのであれば、困りますね・・・(−−;)


あきたいぬ  2007-12-27 02:45:10  No: 144210

らすかるさん、さっそくのコメントありがとうございます。

>開発環境の使用しているフレームワークのバージョンは一致しているのに
>起こっているんですよね?
そうですね。フレームワークはどちらも2.0を使用しています。
ちなみに、Professional版のPCで作成したアプリケーションをそのまま
Express版のPCにコピーして実行して、このような現象になりました。
実行時の環境(フォルダ構成など)は全く同じにしています。

また、何か気付かれた点がありましたら、よろしくお願いします。


あきたいぬ  2008-01-10 01:19:32  No: 144211

いろいろ確認していたところ、VB側の問題ではないことがわかりました。
VS2005 VC++にて作成されたDLLがデバッグモードで作成されていたため、
DLLに組み込まれていた
  MSVCR80D.DLL
  MSVCP80D.DLL
  MSVCM80D.DLL
が、Express版がインストールされているPCには存在せず、エラーになって
しまっていたようでした。
リリース版で作成したDLLを読み込んでみたところ、別のエラーに変わり
ましたので、この問題は一応クローズさせていただきます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加