DLLの参照場所

返信する


答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: DLLの参照場所

Re: Re: Re: DLLの参照場所

by MSXマスター » 2020年8月08日(土) 21:56

一応、自己解決できました。

(イ)「Win64」でデバッグ・ビルドしましたら
  「C:\Windows\System32」を呼びに行ってました。

(ロ)「Win32」でデバッグ・ビルドだと
  どこを呼びに行っているか不明状態でした。

要は、64bit機なら「32bitでビルドしちゃダメよ。」って事ですね。
疑問は残りますが、32bitのDLLの場合は短い名前で作る様にします。

たかせ様、皆様ありがとうございました。

Re: Re: DLLの参照場所

by MSXマスター » 2020年8月08日(土) 21:22

たかせ様へ
①「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: DLLの参照場所

by たかせ » 2020年8月08日(土) 19:13

①出来ればDLL定義部分とDLLを呼び出し部分を記載して下さい。
②確認したいのですがDLLを呼び出すプログラムは32ビットモードまたは64ビットモードどちらでコンパイルされましたか?

よろしくお願いいたします。

DLLの参照場所

by MSXマスター » 2020年8月08日(土) 18:32

初めて投稿します。教えてください。

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" が見つかりません。」
とまたもや怒られました。

デフォルト値で「参照フォルダを追加・変更できるかな」と調べてたんですが、
それもどこだか分からず質問しました。

ページトップ