2012-01-08 10 views
1

私はDelphiコードのRTTI情報を反復しようとしています。パッケージをロードするときに、たとえパッケージが手前にロードされていても、RTTIで情報を取得できないようです。Delphi RTTIの情報とパッケージ

このarticleのコードはRTTIを使用してMEFを模倣していますが、同様の問題もあります。何か案は ?

私はRttiContextを取得し、それを反復更新は、パッケージに含まれているクラスが示されていません。たとえば、Embarcadero article on querying for type informationのコードを使用すると、以下に示すように、パッケージ内のクラスは表示されません。これは、パッケージがロードされてもクラスはまだ存在しないことを意味しますか?

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

まったく同じ問題です。持ってる?エラーコード、返されたデータがないか、無効なデータが返されたか、または何ですか? –

+0

更新を参照 - まだ問題を問題として要約しようとしています! – Mmarquee

+0

'TRttiPackage'を使ってパッケージタイプを取得していますか? – RRUZ

答えて

0

私はそれを解決しました!

元のコードに戻り、プロジェクトのランタイムパッケージを有効にしました。 Embarcadero docwikiの重要な情報は「」です。この例は実行時パッケージを使用して構築する必要があります。そうでない場合は、アプリケーションに直接タイプが組み込まれています。

関連する問題