我正在使用Delphi项目中的LoadLibrary加载DLL,如下所示:
DLLHandle := LoadLibrary('my.dll');
if (DLLHandle = 0) then ShowMessage(SysErrorMessage(GetLastError));
DLL所在的目录包含在Windows PATH环境变量中。当我从Delphi中执行此项目时,DLL不会加载。但是,当直接从Windows中执行相同的代码时,DLL会完全加载。
我在这里缺少什么?我试图通过将目录添加到Tools-> Options,Environment Options-> Delphi Options-> Library - Win32-> Library Path,明确告诉Delphi查看DLL目录。 (感觉就像是一个彻底的PEBKAC。我预计在不久的将来我自己会感到尴尬:) ...
提前致谢!
答案 0 :(得分:2)
大多数情况下,当我遇到类似的问题(从Windows工作而不是从调试器工作)时,这是因为“用户覆盖”
(“Project-> Options”菜单,“Debugger-> Environment block”)
您可能拥有“Windows路径”的用户覆盖,这就是从调试器运行时无效的原因。