簡體   English   中英

Application.OnException是否可以在COM Dll中工作?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM