【发布时间】:2013-09-11 13:24:48
【问题描述】:
我正在尝试在我的 Delphi 项目中加载一个库,该库可以位于两个位置。所以要加载它,我使用以下代码:
try
FHandle:=LoadLibrary(('some\address'));
except on EAccessViolation do
FHandle:=LoadLibrary(('another\address'));
end;
但是,我遇到了一个问题,因为它永远不会到达异常,我收到错误说存在访问冲突,但它没有尝试从其他地址加载...
有人知道原因吗?
谢谢,
【问题讨论】:
-
LoadLibrary Windows API 仅在出错时返回 NULL。
-
但是我应该用什么来跟踪这个错误并让它有一个例外呢?
-
如果第一个 LoadLibrary 返回 NULL(FHandle 为 NULL),用另一个文件名再次调用 LoadLibrary。
-
为什么这个问题受到保护?我相信@ChrisF 有美好的一天
-
@ChrisF 似乎有很多垃圾邮件的答案,关于很多问题的问题都进入了网站。我想知道是否可以采取更多措施从源头上阻止它们。我的意思是,感谢所有与他们打交道的辛勤工作,但我相信你们钻石模组更愿意做其他事情。
标签: delphi exception dll exception-handling