2011-10-10 26 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');