- ベストアンサー
dllが見つからないのですが・・・
いつもお世話になります。 今回、VBで簡単なアプリケーションを作成しています。 そのなかで「a.dll」を使おうとしているのですが、「a.dllが見つかりません」とのエラーが出てしまいます。 現在、テストとしてwin2000で動かしています。このdllを"WINNT\system32"やこのアプリのあるディレクトリにコピーしてみたのですがそれでも見つからないのです。なにか原因があるのでしょうか?
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
VisualStudioをお持ちでしたら、Dependency Walkerというツールがありますので、a.dllが必要としている他のDLLを調べることができます。 VB単体のパッケージをお使いでしたら、「DLLファイル検出ソフト 」などで調べられます。 http://www.vector.co.jp/soft/win95/util/se054263.html 確認をしてみてください。
その他の回答 (5)
- taka_tetsu
- ベストアンサー率65% (1020/1553)
確認なのですが、zzZZZさんが作られたのはa.dllですか? a.dllを呼び出すEXEですか? あと、a.dllなんですが、他のDLLを必要としていませんか? たとえばb.dllなんかを。 regsvr32.exe a.dll が失敗するということは、a.dllはActiveX DLLではなく、 Cで作られた普通のDLLということだと思うのですが。
- ats8181oyaji
- ベストアンサー率38% (94/244)
どうもです。 僕も、こっから先は経験が無いので、推測でしか言えませんが "regsvr32.exe a.dll"を実行すると「"a.dll" is not executable file and no registration helper is registered for this file type」 これは、a.dllがダイナミックリンクライブラリ形式ではないと いうことですよね。 まず、そこら辺を調べてみてはもらえませんでしょうか? こんな回答ですいません。
- maruru01
- ベストアンサー率51% (1179/2272)
再びmaruru01です。 No.2のats8181oyajiさんへ。 替わりに説明していただいてありがとうございます。 さて、この"a.dll"というファイルはひょっとすると、内部の書式などがおかしくて使用出来ないのかも知れません。 これは、どういうファイルなのでしょうか。 どこからかダウンロードしてきたのでしょうか。もしくは自作したものでしょうか。 ダウンロードしてきたのなら、もう一度その場所から落とし直した方が良いかも知れません。 自作した(もしくはしてもらった)ものなら、ソースを見直してみてはどうでしょうか。 では。
- ats8181oyaji
- ベストアンサー率38% (94/244)
こんにちは regsvr32.exeの使い方はa.dllが\syste.32にあるなら regsvr32.exe a.dll とすれば、登録できます。 また、参照リストというのは、VBのメニューからプロジェクト(p) - 参照設定(N)で確認でき、使用するDLLをチェックすると使えるように なります。
補足
"regsvr32.exe a.dll"を実行すると「"a.dll" is not executable file and no registration helper is registered for this file type」と出てきます。 参照設定もできませんでした・・・ これはどういうことなのですか?
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 まず、Regsvr32.exeでdllを登録してみましたか。 あと、参照設定のリストに現れていますか。なければ、参照で読み込んでリストに載せることが出来ますか。 リストにあるなら、チェックしてありますか。 ちなみにいったん参照設定を外してから、再度読み込むとうまくいくとこがあります。 とりあえず、思いつくのはこんなところです。 では。
補足
早々のお返事ありがとうございます。 なにぶん素人なのもで重ねて教えてください。 Regsvr32.exeは引数がいろいろあるようですがどのように使えばよろしいのでしょうか? また「参照設定のリスト」とはなんですか? 初歩的な質問で申し訳ないですが教えてください。
補足
返答ありがとうございます。 私が作ったのはa.dllを呼び出すexeです。 a.dllを作った方に確認しましたが、他のdllを必要とするようなことはないと言ってました。