2011-10-10 29 views
0

为什么Flash使用setStyle()函数与PopUpManager时崩溃?当“Application.application.setStyle()”被取出时,模块工作。提前致谢!Flex与PopUpManager的Application.application.setStyle()导致Flash插件崩溃

var popup:SurveyQuestionsPopup = new SurveyQuestionsPopup(); 
      Application.application.setStyle('modalTransparencyColor','black'); 
      PopUpManager.addPopUp(popup,Application.application as DisplayObject,true); 
      PopUpManager.centerPopUp(popup); 
      popup.dataProvider = arr; 

回答

0

最有可能是一个错误的Flex框架,因为你要的东西应用到目前尚不完全初始化,甚至在舞台上的一个实例。我无法确定,因为您尚未指定您正在使用的Flex SDK的版本。尝试使用validateNow()呼叫并在创建弹出窗口后将setStyle呼叫移至(如下所示)。请记住,调用setStyle是一个昂贵的过程,应尽可能避免。一般来说,它应该永远需要被调用的原因很少。

var popup:SurveyQuestionsPopup = new SurveyQuestionsPopup(); 
PopUpManager.addPopUp(popup,Application.application as DisplayObject,true); 
PopUpManager.centerPopUp(popup); 
popup.dataProvider = arr; 
popup.validateNow(); 
Application.application.setStyle('modalTransparencyColor','black');