字典中的奇怪行为

时间:2013-05-31 23:10:19

标签: actionscript-3 flex flex4.5

在类中定义一个字典,需要根据某些应用程序事件重新启动。如果应用程序窗口具有焦点,那么很好......但如果不是这样,我会得到:

  

TypeError:错误#1009:无法访问空对象引用的属性或方法。

这是相关代码:

private var seleccion:Dictionary= new Dictionary();

private function myfunction():void{
    trace(stage);//it is always [object Stage]
    if(seleccion){ //always there
        trace(seleccion);////it is always [object Dictionary]
        seleccion= new Dictionary();//if have focus, ok. If not i get error #1009
    }
}

我简化了代码,只留下与问题相关的内容(我认为)......任何想法为什么会发生这种情况以及如何阻止它?

1 个答案:

答案 0 :(得分:1)

如上所述,这似乎更像是舞台问题。 尝试通过事件ADDED_TO_STAGE初始化代码,如下所示:

package {

    import flash.display.Sprite;
    import flash.events.Event;

    public class Main extends Sprite {

        public function Main() {
            addEventListener(Event.ADDED_TO_STAGE, init);
        }

        private function init(e:Event):void {
            removeEventListener(Event.ADDED_TO_STAGE, init);
            //your code should start here
        }
    }
}
相关问题