我有一個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