flex弹出框,flex module 弹出窗问题

代码:
<?xml version="1.0" encoding="utf-8"?>
<mx:Module xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" layout="absolute" width="400" height="300">
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<fx:Script>
<!--[CDATA[
import mx.controls.Alert;
private function init():void
{
Alert.show(this.parentApplication.test,"你",Alert.OK,this);
}
]]-->
</fx:Script>
<s:Button x="60" y="48" label="按钮" click="init();"/>
</mx:Module>
出错信息:
TypeError: Error #1009: 无法访问空对象引用的属性或方法。
at mx.managers::PopUpManagerImpl/http://www.adobe.com/2006/flex/mx/internal::createModalWindow()[E:/dev/4.x/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as:686]
at mx.managers::PopUpManagerImpl/addPopUp()[E:/dev/4.x/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as:401]
at mx.managers::PopUpManager$/addPopUp()[E:/dev/4.x/frameworks/projects/framework/src/mx/managers/PopUpManager.as:193]
at mx.controls::Alert$/show()[E:/dev/4.x/frameworks/projects/framework/src/mx/controls/Alert.as:618]
at com.pilihou.modules::Test/init()[E:/study/TryModule/src/com/pilihou/modules/Test.mxml:13]
at com.pilihou.modules::Test/___Test_Button1_click()[E:/study/TryModule/src/com/pilihou/modules/Test.mxml:17]
错误修改方案:
Module域
通常将模块载入一个子域,那么模块里面的类定义都不是application域的。比如第一个模块载入了类PopUpManager,那么整合Application中,它就成了PopUpManager的拥有者,因为像这种manager都是单例的,如果另外一个模块稍后要使用这个PopUpManager,就会引发运行时异常。
解决办法就是确保这些managers,比如PopUpManager and DragManager或者其他一些共享的服务 是在application中定义的,这样就能确保所有模块都能够使用。在main Application中:
import mx.managers.PopUpManager;
import mx.managers.DragManager;
private var popUpManager:PopUpManager;
private var dragManager:DragManager;
http://blog.163.com/ask_rent@yeah/blog/static/13989366320116485138902/
Tags:  怎么写弹出窗 flex弹出框

延伸阅读

最新评论

发表评论