私のフレックス アプリには、いくつかのカスタム コンポーネントがあります。実行時にこれらのコンポーネントのインスタンスを作成し、構成ファイルを読み取ってプロパティを割り当てたいと考えています。xml を読み取ってコンポーネントをインスタンス化する方法は知っていますが、xml 属性からコンポーネントの型を取得して、その型のインスタンスを作成できるかどうかについて質問があります。私のxmlは次のようになります:
質問する
1014 次
1 に答える
2
ActionScript の「リフレクション API」を使用して、任意の名前付きタイプをインスタンス化できます。
var clazz:Class = Class(getDefinitionByName("class.from.your.xml.file.Name"));
var component:Object = new clazz();
http://livedocs.adobe.com/flex/3/langref/flash/utils/package.html#getDefinitionByName()
型が存在しないというエラーが発生した場合、これはアプリケーションの他の場所からリンクされておらず、コンパイラは参照されているクラスのみを追加するためです。次のコンパイラ引数を使用して、これを回避できます。
includes class [...]
コンパイル時にそれらのクラスが必要かどうかに関係なく、1 つ以上のクラスを結果のアプリケーション SWF ファイルにリンクします。
http://livedocs.adobe.com/flex/3/html/compilers_14.html#157203
于 2009-07-29T00:01:40.797 に答える