2012-01-08 72 views
1

我想通過Delphi代碼的RTTI信息迭代。當我加載一個軟件包時,即使先前加載了軟件包,我似乎也無法通過RTTI獲取信息。德爾福RTTI信息和包

我正在查看這個article的代碼,它使用RTTI來模仿MEF,但也有相同的問題。有任何想法嗎 ?

更新

當我拿到RttiContext和遍歷它,那是在包中的類不顯示。例如,使用Embarcadero article on querying for type information中的代碼,如下所示不顯示包中的類 - 這是否意味着雖然包已加載,但類尚不存在?

for LType in FContext.GetTypes do 
    begin 
     WriteLn(LType.Name); 
    end; 
+0

什麼是「相同問題」:您遇到什麼問題有?它是一個錯誤代碼,沒有數據返回,無效的數據返回,或什麼? – 2012-01-08 16:16:26

+0

查看更新 - 仍然試圖將問題總結爲一個問題! – Mmarquee 2012-01-08 16:33:40

+0

您是否在使用'TRttiPackage'獲取軟件包類型? – RRUZ 2012-01-08 16:41:05

回答

0

我已經解決了!

我回到我原來的代碼,並打開項目的RunTime包。來自Embarcadero docwiki的重要信息是「請注意,該示例必須使用運行時軟件包構建;否則,類型直接內置於應用程序中