2013-01-17 64 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