[Delphi:90023] DLLを置いても見つからない

568 views
Skip to first unread message

tonbo_ik

unread,
Oct 28, 2007, 11:43:30 PM10/28/07
to Del...@ml.users.gr.jp
あくつです。
このメーリングリストでは、お世話になっております。

Delphi7を使用しています。
XPでは正常ですが、Windows2000では、エラー「DLLが見つかりません
でした」が出ます。

少し詳しい説明:
dcc32 -CC AAA.pas
でコンソールプログラム AAA.exe を作成しました。
AAA.exe は、BBB.dll を呼び計算します。
XPで、BBB.dllをAAA.exeと同じフォルダにおき、AAA.exeを実行すると、
正常に動作します。ここまですんなりいきました。

ところが、Windows2000で同じことをすると、次のエラーが出ます。

「AAA.exe -DLLが見つかりません
ダイナミックリンク ライブラリ BBBが指定されたパス
(パス名が並ぶ)に見つかりませんでした。」

試しに、BBB.dllを別の指定されたパス
C:\WINNT\system32 などにも置きましたが結果は同じでした。

どのあたりに問題がありそうでしょうか。
情けない質問で申し訳ありません。

 あくつ

tknak...@brain-tokyo.jp

unread,
Oct 29, 2007, 12:33:04 AM10/29/07
to Del...@ml.users.gr.jp
中村@ブレーンです。

BBB.dll がインポートしている DLL が Windows 2000 には
無いのでしょう。tdump で BBB.dll がインポートしている
DLL を調べてみてください。

Quoting tonbo_ik <tonb...@ybb.ne.jp>:

----------
(株)ブレーン 中村拓男

tonbo_ik

unread,
Oct 29, 2007, 5:39:00 AM10/29/07
to Del...@ml.users.gr.jp
中村様
いつもご返事、ありがとうございます。

tdumpを知りませんでした。
次の手順で調べましたが、未解決です。

1.tdump.exe BBB.dll を実行しました。(オプションなしで)

○Importの内容です。(ファイル内の項目は省略します)
・Imports from advapi32.dll
・Imports from user32.dll
・Imports from kernel32.dll

○Importしている、advapi32.dll、user32.dll、kernel32.dllは、
 Windows2000 PC内にありました。

○念のため、上記3つのDLLを、AAA.exe、BBB.dll のあるフォルダ
 に置いて、AAA.exeを行ってみると、同じエラー
 「DLLが見つかりません」が出ました。

2.参考のためtdump.exe polyroot.exe を実行しました。

○Importの内容です。
・Imports from advapi32.dll
・Imports from user32.dll
・Imports from kernel32.dll
・Imports from BBB
   BBBでは、5項目上がっていますが、それらは、BBB.DLLの
   Export項目に上がっていました。

ファイルレベルでは問題ないようです。
困りました。

 あくつ


> 中村@ブレーンです。
>
> BBB.dll がインポートしている DLL が Windows 2000 には
> 無いのでしょう。tdump で BBB.dll がインポートしている
> DLL を調べてみてください。
>

> ---------------------------------------------------------------

Terry

unread,
Oct 29, 2007, 7:02:41 AM10/29/07
to Del...@ml.users.gr.jp
あくつ さん、こんにちは。Terry(寺田)です(^-^)

|XPでは正常ですが、Windows2000では、エラー「DLLが見つかりません
|でした」が出ます。

LoadLibrary('BBB.dll')
と拡張子をつけておられますでしょうか?
Delphi では昔からつけるのがデフォだったので気がつきませんでしたが、
今 Vista で試してみると LoadLibrary('BBB') でも成功するみたいなので、
XP から変わったのかも知れません。

勘違いだったらすみません。(2000 で確認していませんので)

o(^^ )o--------⊆^U)┬┬~...
Terry

tonbo_ik

unread,
Oct 29, 2007, 10:50:49 PM10/29/07
to Del...@ml.users.gr.jp
寺田様
あくつです。お世話になっています。

実験とご返事とありがとうございます。

LoadLibraryに相当する?externalで
external 'BBB' としていました。ここを
external 'BBB.dll' とすると、OKになりました。
あるサンプルプログラムがこうなっており、原因は他と
思い込んでいました・・・

解決しました。
寺田様、中村様、ありがとうございました。

 あくつ

Reply all
Reply to author
Forward
0 new messages