Parent属性也可释放子对象
生活随笔
收集整理的這篇文章主要介紹了
Parent属性也可释放子对象
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在DELPHI中Parent對象也如Owner屬性一樣,可以釋放它的子控件。在網上摘錄另一篇文章如下:
今天一直在考慮是否有一個內存泄漏的問題,看一下Delphi的源碼。 ?
? 結果竟然發現控件的Parent能夠釋放它的子控件,一直以為只有控件的AOwner才能釋放,汗!!!! ?
? ?
? 現在總結如下: ?
? 情況1:直接從TComponent繼承下來的組件,將由它的AOwner釋放(如果你不自己釋放,下來的情況也一樣) ?
? 情況2: ? 如果控件是從TControl繼承下來的,你設定了他的Parent,當這個Parent釋放時,它會釋放掉所有的子控件。 ?
? 情況3:當最后AOwner釋放它的Components時,從最后一個組件開始刪除,這里這個組件也會刪除它內部的Comonents,如果組件是TWinControl,則它會釋放掉它所有的子控件。所以說,Aowner只是負責釋放所有的不可視組件,和一部分的可視控件,大部分可視控件還是由Parent來釋放的。???
????
????
???
總結
以上是生活随笔為你收集整理的Parent属性也可释放子对象的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【程序设计】变量和常量
- 下一篇: Grub4Dos 安装Ubuntu 收藏