0

私はMXMLこれを含むファイルを持っています:

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="30">
    <mx:Script>
        <![CDATA[

            public function initLayer(name:String):void{
                t_layer.text = name;
            }

        ]]>
    </mx:Script>

    <mx:Grid id="mainGrid" width="100%" height="100%" >
        <mx:GridRow>
            <mx:GridItem width="80%">
                <mx:Text id="t_layer" text="new" />
            </mx:GridItem>
        </mx:GridRow>
    </mx:Grid>
</mx:Canvas>

別の AS ファイルから、Layerオブジェクトを作成しています。

public function addLayer(name:String):void{
    var layer:Layer = new Layer();
    layer.initLayer(name);
    layer.x = 0;
    layer.y = _layers*layer.height;
    layersContainer.addChild(layer);
    _layers++;
}

しかし、initLayer関数内でエラーが発生していますundefined property for null object t_layer

私は何を間違っていますか?手伝って頂けますか?

編集

信じられない。ティモフェイに答えるだけで、自分の頌歌をテストするとうまくいきます。どのように?addLayerメソッド内の関数の順序を次のように変更します。

public function addLayer(name:String):void{
        var layer:Layer = new Layer();
        layer.x = 0;
        layer.y = _layers*layer.height;
        layersContainer.addChild(layer);
        layer.initLayer(name);
        _layers++;
}
4

1 に答える 1

2

いつ電話しますinitLayerか?FlexEvent.CREATION_COMPLETEキャンバスから発送されるより早くしないでください。

于 2011-11-23T11:43:14.240 に答える