初めて投稿します。教えてください。
active basic はversion 5.0.0.5です。Win10 64bit
DeclareでDLLを読み込もうと"C:\test\HOGE_HOGE_HOGE.DLL"にしたら、
(1)「DLL名が長すぎます(拡張子を含め、16文字以下にして下さい)。」
と怒られました。
C:\Windows\System32とかを読んでいるのかと思って、そこにDLLを
コピーしても
(2)「DLLファイル "HOGE_HOGE_HOGE.DLL" が見つかりません。」
とまたもや怒られました。
デフォルト値で「参照フォルダを追加・変更できるかな」と調べてたんですが、
それもどこだか分からず質問しました。
DLLの参照場所
-
- 記事: 217
- 登録日時: 2006年2月05日(日) 17:10
- お住まい: 東京都
Re: DLLの参照場所
①出来ればDLL定義部分とDLLを呼び出し部分を記載して下さい。
②確認したいのですがDLLを呼び出すプログラムは32ビットモードまたは64ビットモードどちらでコンパイルされましたか?
よろしくお願いいたします。
②確認したいのですがDLLを呼び出すプログラムは32ビットモードまたは64ビットモードどちらでコンパイルされましたか?
よろしくお願いいたします。
Re: Re: DLLの参照場所
たかせ様へ
①「Declare sub 関数名 Lib "c:\test\hoge_hoge_hoge.dll" ()」
の様な感じで呼び出しました。
②32ビットでコンパイルしました。
ちなみになんですが、私、Cは読める程度でガリガリ書けませんが、
DLLは作れるので「hoge_hoge_hoge.dll」部分を短い名前に
すれば呼び出せました。DLLや呼び出す関数名にミスはないです。
「C:\Windows\SysWOW64」にもコピーしてみましたが、
PATHを指定すれば、「長い」と怒られるし
PATHを省略すれば、「見つかりません」と怒られます。
最終的には、短い名前でDLLを作成すればOKですが、後学の為に
(A)PATH部分を「どこかで設定できるのかな」
(B)PATH省略時は、「デフォルトでどこを見に行ってるんだろう」
と言う感じです。
説明が下手ですいません。お忙しいところ宜しくお願いします。
①「Declare sub 関数名 Lib "c:\test\hoge_hoge_hoge.dll" ()」
の様な感じで呼び出しました。
②32ビットでコンパイルしました。
ちなみになんですが、私、Cは読める程度でガリガリ書けませんが、
DLLは作れるので「hoge_hoge_hoge.dll」部分を短い名前に
すれば呼び出せました。DLLや呼び出す関数名にミスはないです。
「C:\Windows\SysWOW64」にもコピーしてみましたが、
PATHを指定すれば、「長い」と怒られるし
PATHを省略すれば、「見つかりません」と怒られます。
最終的には、短い名前でDLLを作成すればOKですが、後学の為に
(A)PATH部分を「どこかで設定できるのかな」
(B)PATH省略時は、「デフォルトでどこを見に行ってるんだろう」
と言う感じです。
説明が下手ですいません。お忙しいところ宜しくお願いします。
Re: Re: Re: DLLの参照場所
一応、自己解決できました。
(イ)「Win64」でデバッグ・ビルドしましたら
「C:\Windows\System32」を呼びに行ってました。
(ロ)「Win32」でデバッグ・ビルドだと
どこを呼びに行っているか不明状態でした。
要は、64bit機なら「32bitでビルドしちゃダメよ。」って事ですね。
疑問は残りますが、32bitのDLLの場合は短い名前で作る様にします。
たかせ様、皆様ありがとうございました。
(イ)「Win64」でデバッグ・ビルドしましたら
「C:\Windows\System32」を呼びに行ってました。
(ロ)「Win32」でデバッグ・ビルドだと
どこを呼びに行っているか不明状態でした。
要は、64bit機なら「32bitでビルドしちゃダメよ。」って事ですね。
疑問は残りますが、32bitのDLLの場合は短い名前で作る様にします。
たかせ様、皆様ありがとうございました。