2011-02-11 5 views
1

フレックスでは、非UIエレメントの宣言タグを使用できます。フレックス宣言の注文バグ

問題

<fx:Declarations> 
    <local:AClass /> 
    <local:BClass /> 
</fx:Declarations> 

しかし、中:宣言内のクラスの順序が昇順またはこの例では、AClassははBClass前にインスタンス化されることを意味何か...

ソートされ 次の例では、BClassが最初であっても、AClassはまだBClassの前にインスタンス化されます。これは予期せぬ動作です。なぜなら、AClassはBClassに依存するかもしれませんが、宣言の順序で後で来るとしても、最初にインスタンス化します。

<fx:Declarations> 
    <local:BClass /> 
    <local:AClass /> 
</fx:Declarations> 

AClassは

public class AClass 
{ 
    public function AClass() 
    { 
     var _instance:Object = BClass.instance; 
     trace("AClass " + _instance); 
    } 
} 

そしてBClass

public class BClass 
{ 
    private static var _instance:Object; 
    public function BClass() 
    { 
     _instance = new Object(); 
     trace("BClass " + _instance); 
    } 

    public static function get instance():Object{ 
     return _instance; 
    } 
} 

は私が狂ったのでしょうか?

答えて

1

私は、生成されたactionscript(余分なコンパイラ引数として-keepフラグを使用してください)を調べることによって簡単なテストを行い、宣言の順序は正しく保存されているようです。

オブジェクトの順序を変更してクリーンコンパイルしたことはありますか?