Flex Application.application.setStyle()与PopUpManager导致Flash插件崩溃

时间:2011-10-10 21:39:11

标签: flash actionscript-3 flex mxml

为什么在我使用PopSpManager的setStyle()函数时Flash会崩溃?该模块在取出“Application.application.setStyle()”时有效。提前谢谢!

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

1 个答案:

答案 0 :(得分: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');