[英]Does Application.OnException work in a COM Dll?
我想記錄在Delphi編寫的COM DLL中遇到的一些看似隨機的錯誤。 我該怎么做呢? 是否可以使用Application.OnException事件處理程序? 我可以控制COM DLL源,但不能控制調用應用程序。
不會。DLL沒有應用程序變量,因為它不是應用程序。
在DLL中處理異常的正確方法是使用try..except
塊。 最基本的技術是在每個導出的函數周圍放置一個try..except
塊,該函數將在錯誤傳播到DLL之外之前捕獲錯誤。
您可以嘗試創建自己的名為OnException的全局函數,並讓Except塊調用它並傳遞它們收到的異常或類似的東西。 基本上,這就是Application.OnException所做的; 它可以自動執行此操作,因為在調用堆棧底部附近有一個已知點,可以將其放入try..except
塊中。
我認為Application.OnException不會在COM DLL中為您工作。 您可能必須直接瀏覽低級內容。 看一下System單元中的RaiseExceptionProc。 它應該讓您獲得所需的信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.