原来在flex 调试的时候;
开始的时候在初始化的时候调用// terminalPanel.init(); 方法; 可是总是报错; 因为它里面用到一个ip.xml;
后来才知道是因为 loadIP 内部采用了URLRequest 方法异步加载ip.xml 文件; 所以会报空指针;
所以后来改为在loadip 的监听器里面的 oncomplete 方法里面调用即可;解决;
以后这样的问题需要注意了;
protected function application1_creationCompleteHandler(event:FlexEvent):void
{
// TODO Auto-generated method stub
loadIP();// 异步方法; 不阻塞; 类似于ajax;
createBFlvPlayback();
delayTimer.addEventListener(TimerEvent.TIMER,delayFunction);
// terminalPanel.init();
}
private function loadIP(){ // url request
var url:URLRequest = new URLRequest("ip.xml");
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE,onComplete);
loader.load(url);
}
//加载ip完成
private function onComplete(evt:Event):void{
var result:URLLoader = URLLoader(evt.target);
ipxml = XML(result.data);
Security.loadPolicyFile("http://"+ipxml.ip[0].@url+":"+ipxml.ip[6].@url+"/crossdomain.xml");
createSocket();
terminalPanel.init();
}