在类中定义一个字典,需要根据某些应用程序事件重新启动。如果应用程序窗口具有焦点,那么很好......但如果不是这样,我会得到:
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
}
}
我简化了代码,只留下与问题相关的内容(我认为)......任何想法为什么会发生这种情况以及如何阻止它?
答案 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
}
}
}