在做项目的过程中,用到了module
但是在module加载的时候,unloading一个包含有ViewStack的module时出现错误如下:
TypeError: Error #1034: Type Coercion failed: cannot convert mx.managers::HistoryManagerImpl@ac6f8c1 to mx.managers.IHistoryManager.
at mx.managers::HistoryManager$/get impl()[E:\dev\4.5.1\frameworks\projects\framework\src\mx\managers\HistoryManager.as:101]
at mx.managers::HistoryManager$/unregister()[E:\dev\4.5.1\frameworks\projects\framework\src\mx\managers\HistoryManager.as:164]
at mx.containers::ViewStack/removedFromStageHandler()[E:\dev\4.5.1\frameworks\projects\mx\src\mx\containers\ViewStack.as:1308]
at flash.display::DisplayObjectContainer/removeChild()
at mx.core::UIComponent/http://www.adobe.com/2006/flex/mx/internal::$removeChild()[E:\dev\4.5.1\frameworks\projects\framework\src\mx\core\UIComponent.as:7294]
at mx.core::UIComponent/removeChild()[E:\dev\4.5.1\frameworks\projects\framework\src\mx\core\UIComponent.as:7201]
at spark.components::Group/http://www.adobe.com/2006/flex/mx/internal::elementRemoved()[E:\dev\4.5.1\frameworks\projects\spark\src\spark\components\Group.as:1679]
at spark.components::Group/removeElementAt()[E:\dev\4.5.1\frameworks\projects\spark\src\spark\components\Group.as:1426]
at spark.components::Group/removeElement()[E:\dev\4.5.1\frameworks\projects\spark\src\spark\components\Group.as:1404]
at spark.modules::ModuleLoader/unloadModule()[E:\dev\4.5.1\frameworks\projects\spark\src\spark\modules\ModuleLoader.as:638]
at ui.content::AcceleratorContent/load()[D:\backup\rds\RDSMobile\src\ui\content\AcceleratorContent.mxml:23]
at ui.content::Content/select()[D:\backup\rds\RDSMobile\src\ui\content\Content.mxml:44]
at UIManager/selectObject()[D:\backup\rds\RDSMobile\src\UIManager.as:79]
at UIManager$/selectObject()[D:\backup\rds\RDSMobile\src\UIManager.as:164]
at com.sap.rdssbs.controller::StepController/selectStep()[D:\backup\rds\RDSMobile\src\com\sap\rdssbs\controller\StepController.as:84]
at ui.stepNavigation::AcceleratorItemRenderer/itemrenderer1_clickHandler()[D:\backup\rds\RDSMobile\src\ui\stepNavigation\AcceleratorItemRenderer.mxml:72]
at ui.stepNavigation::AcceleratorItemRenderer/___AcceleratorItemRenderer_ItemRenderer1_click()[D:\backup\rds\RDSMobile\src\ui\stepNavigation\AcceleratorItemRenderer.mxml:6]
我的页面结构如下:
在main页面:
<fx:Script>
<![CDATA[
import mx.managers.HistoryManager;
......
private var historyManager:HistoryManager;
public function load():void {
moduleLoader.unloadModule();
moduleLoader.loadModule("" + stepData.file);
}
public function refresh():void
{
this.load();
}
protected function group1_creationCompleteHandler(event:Event)
{
refresh();
}
]]>
</fx:Script>
<s:Group width="100%" height="100%">
<s:layout>
<s:VerticalLayout paddingLeft="20" paddingRight="20" paddingTop="10" paddingBottom="15" />
</s:layout>
<s:ModuleLoader id="moduleLoader" width="100%" height="100%" />
</s:Group>
其它的moduler a, b,c
module c中有viewstack.
在网上搜了一下,是个sdk的bug,其页面如下:
http://bugs.adobe.com/jira/browse/SDK-15249
和该问题相关的另外一个sdk的bug如下:
https://bugs.adobe.com/jira/browse/SDK-14384
解决办法就是如上红色加粗斜体的部分,在该页面加上一个HistoryManager的一个私有变量即可O(∩_∩)O~
分享到:
相关推荐
Flex加载Module是Adobe Flex框架中的一个关键特性,它允许开发者将大型应用程序分解为多个模块,每个模块都可以独立加载和卸载。这样的设计提高了应用程序的响应速度,降低了初始加载时间,并且使得用户能够在需要时...
Flex 基于 Module 模块的开发是一种有效的软件架构策略,它允许将大型应用程序分解为更小、更易于管理的单元,称为模块。模块化的主要目标是提高代码的可维护性、可扩展性和性能。 1. **模块化的定义与原理** - **...
这将卸载Module,释放其占用的资源,但请注意,这并不意味着Module的类将从内存中完全移除,因为Flex可能会缓存已加载的Module以提高性能。 3. **示例代码**: 在`main.mxml`中,可能包含一个按钮,点击后加载或...
flexBulider页面加载动态图片的显示
在Flex开发中,`ModuleLoader` 是一个关键组件,它允许开发者动态地加载MX模块(即Flex模块,独立的SWF文件)。`ModuleLoader` 的主要功能是将模块的加载过程与应用程序的其余部分分离,这有助于实现代码的模块化和...
flex加载swf的N种方法.zip
在Flex3的Module模块程序设计中,在Google中进行了大量的资料查找,综合比较各个资源后,将我认为最有价值的资料放在这里(全英文的)。 下载包中包括: 1、Adobe Creating Mudule Application.pdf 2、相似例子的源...
在RIA(Rich Internet Applications)开发领域,Flex是一个广泛使用的框架,它允许开发者创建富交互性的Web应用程序。XML作为一种轻量级、自描述的数据交换格式,常用于存储和传输数据。本篇文章将深入探讨在Flex中...
本文将详细讲解如何利用ArcGIS for Flex API来加载高德地图,帮助开发者实现地图服务的集成。 ArcGIS for Flex是Esri公司提供的一种基于Adobe Flex的开发工具,它允许开发者构建具有地图功能的Web应用程序。Flex是...
首先,了解Flex模块(Module)。在Flex中,一个模块是一个可以独立编译和加载的SWF文件,它可以在运行时动态插入到主应用程序中。模块化设计使开发者能够将应用拆分为更小、更专注的功能单元,每个单元都可以单独...
这个"Flex 预加载动画demo"是Flex应用中的一个实例,它展示了如何自定义预加载进度条动画,使得用户在等待应用程序加载时能有一个更友好的交互体验。 预加载是任何富媒体应用程序的关键部分,因为它确保了所有必要...
Flex编译错误码总结 Flex是一种基于ActionScript和MXML的开源框架,用于构建富互联网应用程序(RIA)。在开发过程中,我们可能会遇到各种编译错误,这些错误代码可以帮助开发者理解和解决遇到的问题。以下是对Flex...
FlexModule_j2ee 是一个专为整合Flex与JSP应用设计的组件库,它提供了一个.jar文件,使得在Java服务器端(JSP)与客户端的Adobe Flex之间建立交互变得更加便捷。Flex是一种强大的富互联网应用程序(RIA)开发技术,...
在本案例中,我们将深入探讨如何使用Flex与ArcGIS结合,加载天地图2.0的地图源码。 天地图是由中国国家测绘局主导的国家级地理信息公共服务平台,提供丰富的测绘地理信息资源,包括地图、影像、地形、地名等。天...
Flex加载进度流程图以及说明文字,通过它可以粗线条体了解Flex工程师的设计思路。
不要以为我要5分很高,这个绝对是官网资源,其中包含各位最一直在寻找却找不到即使找到也不好用的 flex-bootstrap-jsp.jar flex-bootstrap.jar flex-webtier-jsp.jar flex-webtier.jar
在Flex开发中,加载HTML页面是一项常见的需求,特别是在构建富互联网应用程序(RIA)时。Flex是一种基于Adobe AIR或Flash Player运行时的开放源代码框架,它允许开发者创建交互性强、可自定义的用户界面。而HTML则作为...
Flex中加载SWF方法,介绍了flex 对 swf 加载和处理
FlexModule_j2ee.zip是一个压缩包,包含了将Flex前端技术集成到JSP(JavaServer Pages)和J2EE(Java 2 Platform, Enterprise Edition)后端环境中的示例工程。这个项目旨在展示如何在传统的Web应用中嵌入富互联网...
在本示例中,我们将深入探讨如何在Flex应用中加载和展示由FlashPaper生成的Flash内容。 首先,我们需要理解Flex中的SWFLoader组件。SWFLoader是Flex SDK提供的一种用于加载和显示SWF文件(包括由FlashPaper转换的...