关于Delphi中TRttiContext.FindType失效的问题
生活随笔
收集整理的這篇文章主要介紹了
关于Delphi中TRttiContext.FindType失效的问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
自從Delphi2010后,Delphi中的Rtti功能得到了增強。我們終于可以不用先RegisterClass,再GetClass獲取類的信息了。而只是簡單的通過TRttiContext.GetType或FindType來獲取類,進而創建對象。雖然跟C#中的Rtti相比,還有些差距,不過這已經算是很大的進步了,希望Delphi越來越強,書歸正傳。最近在研究Delphi中增強的Rtti,發現TRttiContext的FindType有時可以返回正確的類型,有時卻返回nil。很傷腦筋。后來查詢官方文檔才知道,并不是所有的類都會存儲到Rtti中的.只有那些在函數或類中被引用過的對象才會被自動添加到Rtti中,如果你想強制將所有的類都加入到Rtti中,那么只需要一個簡單的預編譯命令就可以了:
{$STRONGLINKTYPES ON}
總結
以上是生活随笔為你收集整理的关于Delphi中TRttiContext.FindType失效的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决IE正常模式与兼容性模式的办法
- 下一篇: after you've written