いつもお世話になっております。
現在、WindowsXP(SP2)、VisualBasic6.0(SP6)を使って開発中です。
他社が作成したソースを解析しているのですが、分からない事があったので教えてください。
hModule = LoadLibrary(strDLLFullPath)
として、strDLLFullPathに指定されているDLLを呼び出しているのですが、VBでデバッグしていると、【返り値(hModule)=0】となっています。
ロードに成功すると、アドレス空間に割り振ったDLLのインスタンスハンドルが返って来る筈だから、【0】が帰って来たという事は、ロード出来てないという事ですよね?
しかしこのソースをコンパイルして単体のアプリとして動かすと、きちんとハンドルを取得できるのです。
動作環境は同じなのに、なぜこのような違いが生じるのでしょうか?
何か御存知でしたら教えてください。
宜しくお願いします。
No.2ベストアンサー
- 回答日時:
エラー番号(Err.LastDLLError)は確認しましたか?
> hModule = LoadLibrary(strDLLFullPath)
「strDLLFullPath」の具体的な内容は?
そのDLLって、別のDLLを使っていたりしませんか?
だとすると、EXE/DLL/別のDLL/プロジェクトファイルの位置関係(各々どこのフォルダ)は?
ご回答、ありがとうございます。
>そのDLLって、別のDLLを使っていたりしませんか?
御指摘の通り、別のDLLを呼んでいました。
別のDLLも指定したパスに置いたら、解決しました。
ありがとうございました。
No.1
- 回答日時:
その読み込もうとしている DLLなどの DllMainで呼び出しもとのモジュールを判定しているのかもしれません
DLLの利用を限定しているなど制限があるのではないでしょうか
# 憶測ですけどDLLを開発に使うためには許可が要るなど...
# 開発元または 提供元に確認なさってみてはいかがでしょう
ご回答、ありがとうございます。
使いたいDLLは、開発元からの許可は取っています。
実行アプリにすると使えるので、実行アプリとソースでは、LoadLibraryの動作が異なるのかと思いましたが、単に自分のミスで、動作環境の違いでした。
申し訳ありませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) IT初心者です 仕事で、vb.netで作成されたdllをvbaで呼び出すプログラムを作成しろと言われ 1 2023/03/27 08:22
- その他(プログラミング・Web制作) Pythonの作業環境・作業フォルダの迅速な設定・指定方法 3 2022/04/01 07:55
- Windows 10 explorerをedgeで開く方法 2 2022/06/05 14:59
- アプリ Edgeを操作するアプリについて 4 2023/05/11 22:48
- アプリ swiftでスマホアプリを開発した時の動作確認 1 2023/02/14 11:37
- Windows 10 IT初心者です! powershellで以下のようなエラーが出ました オブジェクト参照がオブジェクト 1 2023/05/17 11:30
- マルウェア・コンピュータウイルス 原神を起動したらmhyprot3というファイルがTempファイルの中にできて起動できない 3 2023/03/02 19:29
- 新卒・第二新卒 就活 新卒 自己PR 強み 添削お願いします。 以下の文章で自己PRを書いてみたのですが、どこが競争 3 2023/02/25 21:27
- OCNモバイルONE 格安SIMの契約について質問失礼しますm(_ _)m 2 2022/05/28 15:46
- Illustrator(イラストレーター) ワードに貼った画像のキャンバスと画像本体のサイズの調整 2 2022/05/19 18:31
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAを何回も作り直して、容量が...
-
1 つ以上の複数回定義されてい...
-
OpenCVを Borland C++ Builder...
-
<math.h>があるのにsqrtが・...
-
セミコロンについて
-
Makefile作成時の拡張子.oとは?
-
外部シンボル "_main"は未解決です
-
ILSpyで、デコンパイルできない。
-
「fatal error C1189」を回避す...
-
pyc 編集 閲覧
-
エクセルVBAではRound...
-
” OS ビルド ” の意味が分か...
-
戻り値について
-
マクロ コンパイルがグレーバック
-
RPGでプログラムからソースファ...
-
PRO*C コンパイルエラー
-
'strcpy': 識別子が見つかりません
-
コマンドプロンプトで壁にぶち...
-
C++のhppファイルをCでinclude
-
コンパイルエラー:ユーザ定義...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAを何回も作り直して、容量が...
-
<math.h>があるのにsqrtが・...
-
” OS ビルド ” の意味が分か...
-
Makefile作成時の拡張子.oとは?
-
「fatal error C1189」を回避す...
-
1 つ以上の複数回定義されてい...
-
ILSpyで、デコンパイルできない。
-
C言語でヘッダファイルにグロー...
-
エクセルVBAではRound...
-
セミコロンについて
-
マクロ コンパイルがグレーバック
-
C++コンパイル時に『 C1083: in...
-
外部シンボル "_main"は未解決です
-
PRO*C コンパイルエラー
-
コンパイルエラー:ユーザ定義...
-
クリティカルエラー Expressio...
-
ビルドとリビルドの違いを教え...
-
RPGでプログラムからソースファ...
-
戻り値について
-
C++のhppファイルをCでinclude
おすすめ情報