Declareを使って自作DLLをVBで使用するには?

解決


VB初心者その1  2002-07-25 14:40:30  No: 75899  IP: [192.*.*.*]

VC6で作成したDLL(他の人が作成して正常に動作していることは確認ずみ)を自分のVBで取り込もうとするとエラーになります。
(エラー53で”ファイルがない”と言ってきます)

同じ宣言を別のプログラムでは扱えました。
VB側に何か設定はあるのでしょうか?

MSDNのHELPを見ても違いがわかりませんでした。
よろしくお願いします。

編集 削除
たかみちえ  URL  2002-07-25 15:42:31  No: 75900  IP: [192.*.*.*]

ファイルがないというエラーはそうそうなさそうですねぇ…。
  DLLなら、パスの通ったフォルダかWindowsフォルダ、Systemフォルダ、
ソフトと同じフォルダ(この場合VB6本体?)のどれかなら、
DLLを読み込めると思いますけど…。

編集 削除
Say  2002-07-25 15:47:32  No: 75901  IP: [192.*.*.*]

フルパス指定してみてください。

編集 削除
VB初心者その1  2002-07-25 17:48:55  No: 75902  IP: [192.*.*.*]

じつは、
Public Declare Function ImgInit Lib "C:\Test\Bin\ImgCtl.dll" ( _
                                    ByVal nAccuracy As Long, _
                                    ByVal nSpeed As Long, _
                                    ByVal dCertainty As Double, _
                                    ByVal nFactor As Long, _
                                    ByVal dAcceptance As Double, _
                                    ByVal nLevel As Long) _
                                    As Long


と宣言していますが、プログラムではImgInitを使うと“ファイルがない”と
言ってきます。  宣言したディレクトリにはファイルがあるのですが・・・・。

windowsフォルダに移してもダメでした。(当然、宣言も変更しました)
VBが壊れたかと疑りたくなります。

編集 削除
あき☆彡  2002-07-25 20:43:46  No: 75903  IP: [192.*.*.*]

VCで作成したDLL自体が使用しているDLLを参照出来ない場合も
同様のエラーメッセージが表示されます。

その辺りは大丈夫でしょうか?

ImgCtl.dll を Dependency Walkerで開くと
参照出来てないDLLがあるとひと目で分かります。
1度確認してみてはどうでしょう?

Dependency WalkerはVC6がインストールされていれば
入っていると思います。
なければ、ネットで検索してください。

編集 削除
VB初心者その1  2002-07-26 09:22:15  No: 75904  IP: [192.*.*.*]

そんなツールがあるとは知りませんでした。

早速、チェックしてみます。  
ありがとうございました。

編集 削除
VB初心者その1  2002-07-29 16:25:09  No: 75905  IP: [192.*.*.*]

DLL内部で別のDLLを呼んでいるようでした。

皆さん(特にあき☆彡さん)  ありがとうございました。

編集 削除