我有一个Delphi 2010 DLL在Delphi 2010应用程序中加载。它在大多数时间都能正常工作。但是有一些异常可以从DLL中逃脱(即使是那些被try..except
块处理的异常),并且我的应用程序崩溃,没有错误消息,根本没有任何信息。我说的异常就像AV,不像开发人员提出的例外。我曾尝试加载DLL SafeLoadLibrary
没有运气。我也有应用程序和DLL源代码。我不张贴DLL或应用程序源代码,因为我不能,他们是版权(我真的希望我可以)。Delphi DLL异常关闭我的应用程序
有什么我可以做,以避免一个内部的DLL异常崩溃我的应用程序?
编辑
我没有不允许DLL引发异常的方式。可能会发生,并不是所有的代码都是完美的。这可能是不可避免的,该DLL引发一个异常,但它不应该崩溃的主要应用程序。想象一下,例如,你使用的是第三方的dll,你没有源代码。它不是一件好事,当这个DLL崩溃出于某种原因,你的主要应用程序被杀害。它必须有一种不允许发生的方式。
试图在一个小程序中复制错误,并在这里发布代码。 – RBA 2011-04-15 13:22:29
我会尝试,但有时他们会关闭我的应用程序,有时他们不会。 – 2011-04-15 13:24:48
你应该有一个Try/Except围绕你的DLL中每个导出函数的主体。 – 2011-04-15 13:46:13