VC++(2002)で作成したMFC-DLLを他のマシンで使用するとエラーが発生しました。呼出はVB6.0及びVB.NET2005です。
(1.DLLを作成したマシンではVB6.0またはVB.NET2005でも呼び出し可能です。
2.エラー内容:ファイルが見つかりません)
DLLの呼び出し法方は次の通りです。
Private Declare Function regres Lib "D:\kaiki\Release\kaiki.dll" (ByRef px As Double, ByVal n As Integer, ByVal m As Integer, ByVal c As Integer, ByRef cof As Double, ByRef pr As Double) As Double
kaiki.dllをシステムにおいても同様なエラーが発生します。
レジストリーに登録が必要な場合はその方法を教えてください。
入門者君>>ここはVB掲示板ですよ。
シープラは別のとこにアリンス。(笑)
> 2.エラー内容:ファイルが見つかりません
"D:\kaiki\Release\kaiki.dll"
DLLはこのパスにおいてますか?
> 2.エラー内容:ファイルが見つかりません)
Dependency Walker (DEPENDS.EXE)で、その DLL の「依存ファイル群」をチェックしてみてください。
DLL 自体は存在していても、依存ファイル群が見当たらない(PATH が通っていない)場合、
そのようなエラーが発生する可能性があります。
> レジストリーに登録が必要な場合はその方法を教えてください。
ActiveX DLL なら、レジストリー登録もしくはマニフェスト設定が必要です。
関数を外部公開しているだけなら、レジストリー登録は不要です。
> DLLの呼び出し法方は次の通りです。
法方……方法?
MFC70.dll と MSVCR70.dllをシステムに再コピーする事で解決しました。
理由は不明です。
ありがとうございました。