ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年3月29日(金) 01:48

全ての表示時間は UTC+09:00 です




新しいトピックを投稿する  トピックへ返信する  [ 4 件の記事 ] 
作成者 メッセージ
 記事の件名: DLLの参照場所
投稿記事Posted: 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" が見つかりません。」
とまたもや怒られました。

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


通報する
ページトップ
   
 記事の件名: Re: DLLの参照場所
投稿記事Posted: 2020年8月08日(土) 19:13 
オフライン

登録日時: 2006年2月05日(日) 17:10
記事: 215
お住まい: 東京都
①出来ればDLL定義部分とDLLを呼び出し部分を記載して下さい。
②確認したいのですがDLLを呼び出すプログラムは32ビットモードまたは64ビットモードどちらでコンパイルされましたか?

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


通報する
ページトップ
 記事の件名: Re: Re: DLLの参照場所
投稿記事Posted: 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省略時は、「デフォルトでどこを見に行ってるんだろう」
と言う感じです。

説明が下手ですいません。お忙しいところ宜しくお願いします。


通報する
ページトップ
   
投稿記事Posted: 2020年8月08日(土) 21:56 
一応、自己解決できました。

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

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

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

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


通報する
ページトップ
   
期間内表示:  ソート  
新しいトピックを投稿する  トピックへ返信する  [ 4 件の記事 ] 

全ての表示時間は UTC+09:00 です


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[16人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
cron
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean