2013-01-17 41 views
0

我在windowapplication中添加了一个新窗口,我是通过nativeWindow实现的,但是当我调试这个时,新窗口的内容始终没有完全加载。 以下是错误 TypeError:错误#1009:无法访问空对象引用的属性或方法。flex air open new nativewindow null objecthen

我确实添加了creation_complete事件,但它仍然不起作用。 为什么?有人可以帮忙?

opts = new NativeWindowInitOptions(); 
opts.resizable=false; 
opts.maximizable=false; 
win = new NativeWindow(opts); 
win.alwaysInFront=true; 

var newWindow:TestWindow=new TestWindow(); 
newWindow.addEventListener(FlexEvent.CREATION_COMPLETE,performWindowComplete); 
win.activate(); 

public function performWindowComplete(e:FlexEvent):void 
{ 
    win.stage.addChild(e.currentTarget as TestWindow); 
} 

,并在TestWindow,我只添加一个文本区域,当我打开这个新窗口,我点击了textarea的,它抛出空object.i困惑。

回答

0

CREATION_COMPLETE事件永远不会触发,因为您的组件未添加到显示列表/ stage中。首先您需要添加到显示列表。

opts = new NativeWindowInitOptions(); 
opts.resizable=false; 
opts.maximizable=false; 
win = new NativeWindow(opts); 
win.alwaysInFront=true; 

var newWindow:TestWindow=new TestWindow(); 
newWindow.addEventListener(FlexEvent.CREATION_COMPLETE,performWindowComplete); 
win.addElement(newWindow); //Todo 
win.activate(); //or Set visible = true