我有一個組件創建,然後在主窗體上傳入一個面板。如何檢測組件是否已被釋放?
這裏是一個非常簡化的例子:
procedure TMy_Socket.StatusPanel_Add(AStatusPanel: TPanel);
然後此組件將在必要時更新該面板字幕。
在我的主程序中,如果我FreeAndNil
面板下一次組件嘗試更新面板我得到一個AV。我明白爲什麼:組件對面板的引用現在指向一個未定義的位置。
如何在組件內檢測面板是否已釋放,因此我知道我無法引用它?
我試過if (AStatusPanel = nil)
但它不是nil
,它仍然有一個地址。
@Steve:你把通知PROC上你的'TMy_Socket'類。查看文檔頁面底部的示例。 –