flex 4.0 解决在MODULE中使用timer实时刷新数据,卸载MODULE后还在执行的问题
2012-10-21 22:29
477 查看
主应用程序为index.mxml(包含加载module的moduleloader控件),被加载的module为mo_test.swf(mo_test.mxml)
在mo_test.mxml中使用timer
mo_test.mxml中:
某函数中{timer.addEventListener("timer", timerHandler); timer.start();} public function timerHandler(e:TimerEvent):void{ 执行代码A}
解决方法:
在主应用程序中定义全局变量保存module的状态,即当前是否被加载。然后在timerHandler中调用判断
index.mxml中:
public var moduleState:Boolean=false; ....... //并在加载module前将moduleState设置为truethis.moduleState=true; .........//在切换moduleloader中的module时或卸载module时将moduleState设置为falsethis.moduleState=false;
mo_test.mxml中:
某函数中{timer.addEventListener("timer", timerHandler); timer.start();} public function timerHandler(e:TimerEvent):void{ if(!this.parentApplication.moduleState) { timer.stop(); return; } 执行代码A}
到现在,当mo_test被卸载以后,timerHandler已经不再执行了。但当再次加载mo_test的时候有可能报错:
错误:无法将 Object@ce19af1 转换为 mx.messaging.messages.IMessage
具体是什么原因没仔细推敲。
解决方法:在index.mxml中添加代码如下:
import mx.messaging.messages.RemotingMessage; private var rm:RemotingMessage;//只是定义一下就好了。很莫名奇妙的问题,在module中使用datagrid和tabnavigater时也有些类似的解决方案。
相关文章推荐
- flex 4.0 解决在MODULE中使用timer实时刷新数据,卸载MODULE后还在执行的问题
- 使用asx3m与xstream配合解决flex与java利用httpservice传递xml数据问题
- 使用sessionStorage解决vuex在页面刷新后数据被清除的问题
- axure中this/target.属性的执行效率低于局部变量.属性,解决后台刷新数据延时抖动问题
- 使用localStorage解决浏览器刷新后无法再从vuex中获取数据的问题
- flex在使用itemrender时,再次刷新数据时itemrender错乱问题
- 使用sessionStorage解决vuex在页面刷新后数据被清除的问题
- 使用asx3m与xstream配合解决flex与java利用httpservice传递xml数据问题
- Flex中Module的使用以及内存泄露问题解决方法
- 使用Hibernate 5.0、4.0、3.0 createSQLQuery执行原生Sql语句 遇到问题及解决办法集锦
- 使用asx3m与xstream配合解决flex与java利用httpservice传递xml数据问题
- 解决 FLex 4.0 Module里面Alert.show();出错问题
- 初学Flex,在使用Webservice时遇到Xml数据绑定的一个问题,试了N个方案,均没解决。
- FLex 4.0 Module里面Alert.show();出错问题
- JSP数据和JavaScirpt数据交互使用问题的一种解决方法
- 解决刷新页面造成的数据重复提交问题
- 解决用JavaScript隐藏再显示Flex后不能正常使用问题
- 采用自执行的匿名函数解决for循环使用闭包的问题
- 解决刷新页面造成的数据重复提交问题