私はMicrosoft Visual C++でCモジュールとして書かれたJD Edwardsビジネス関数を持っています。私はLoadLibraryを使用してサードパーティのDLLにアクセスしています。スタンドアロンのテストプログラムでは、コードは正常に動作します。 JDE内から実行すると、LoadLibraryはNULLを返し、GetLastErrorは126を返します。つまり、MSDNによればThe specified module could not be found
を意味します。私はDLLへの完全なパスを入れようとしました、そして、私はパスの\文字を倍増することを思い出しました。変わりはない。LoadLibraryでDLLをロードできないことがありますか?
私はDLLがロードされないようにする依存関係がないことを確認しました。 DUMPBIN/DEPENDENTSは以下を返します:
WSOCK32.dll
USER32.dll
GDI32.dll
WINSPOOL.DRV
ADVAPI32.dll
KERNEL32.dll
これらは標準的なWindows DLLと似ていますので、私は迷っています。
私がそれを必要として以来、非常に長い時間がかかりました。私はDependency Walkerを完全に忘れました。それは、私が理解している遅延dwmapi.dll DLLがロードされていないが、Vistaだけであると言います。私はそれが問題だとは思わないが、ポインタのおかげです。 –
%windir%\ system32のようなあなたのパス上にあるフォルダにdllを移動するのはどうですか? –