Delphi 2010:从Delphi执行二进制文件时不加载DLL

时间:2011-01-10 12:11:28

标签: delphi dll delphi-2010 loadlibrary

我正在使用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。我预计在不久的将来我自己会感到尴尬:) ...

提前致谢!

1 个答案:

答案 0 :(得分:2)

大多数情况下,当我遇到类似的问题(从Windows工作而不是从调试器工作)时,这是因为“用户覆盖”

(“Project-> Options”菜单,“Debugger-> Environment block”)

您可能拥有“Windows路径”的用户覆盖,这就是从调试器运行时无效的原因。