1

を使用してクラスのクラスオブジェクトを参照して、オブジェクトのインスタンスを作成しようとしています

getDefinitionByName()

問題は、getDefinitionByName() を使用しようとする前にクラスのインスタンスを少なくとも 1 つ作成しないと、

ReferenceError: Error #1065: Variable XXXXXX is not defined.

最初にインスタンスを使用せずにバイナリにクラスを含めるにはどうすればよいですか?? また、インポートをそのまま残そうとしましたが、まだクラスを含めていません。渡すことができるコンパイラパラメーターである可能性があります??

Flex SDK 4.6 を使用しています。

4

3 に答える 3

2

ドキュメントで説明されているように:

-includes class コンパイル時にそれらのクラスが必要かどうかに関係なく、1 つまたは複数のクラスを結果のアプリケーション SWF ファイルにリンクします。

于 2013-03-30T22:58:00.237 に答える
2

クラスを含めることを可能にするコンパイラオプションはたくさんありますが、それらはあまりスケーラブルではなく、手作業が必要です。たとえば、-includesオプションがありますが、含める記号を知っておく必要があります。あり-include-librariesますが、必要なクラスを含む SWC ライブラリをコンパイルする必要があります。-include-namespace- 名前空間の定義を記述して、含めたいすべてのクラスをリストする必要があります。

最終的には何らかの方法でタスクが自動化されると思うので、次の形式の AS ファイルを生成するだけの方が理にかなっています。

package your.app {
   import fully.qualified.class.Name;Name; // it is enough to just mention it
   . . .
}

そして、このクラスだけを含めます。

于 2013-03-30T23:01:18.577 に答える
0

さて、私は解決策を見つけたと思います。引数-includesをthisedのようにコンパイラに追加するだけです

-com.example.Myclass を含む

使用していなくても、getDefinitionByName() でロードしようとした後でも、バイナリにクラス オブジェクトが含まれます。

これが他の誰かに役立つことを願っています。また、ここにコンパイラの引数の完全なリストがあります

http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7a92.html

于 2013-03-30T23:00:56.987 に答える