使用ModuleManager载入模块

prism 加载模块的四种方法 按照《prism创建模块》搭建项目并创建模块 1通过配置文件加载模块 修改App.config文件,加入configSection节点和modules节点 <?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <section name="modules" type="Prism.Modularity.ModulesConfigurationSection, 阅读详情

                                                          使用ModuleManager载入模块

                                                          from:http://www.code-design.cn/bblog20-page1.html

22.8.1.问题
我想具体控制模块的加载和卸载。
22.8.2.解决办法
直接访问ModuleManager类的方法来监听加载模块的各种状态事件。
22.8.3.讨论
ModuleManager 类管理着加载的模块。当调用ModuleLoader.loadModule 和ModuleLoader.unloadModule方法时<mx:ModuleLoader>组件内部就是和这个管理器进行着通信, 你可以直接访问ModuleManager 管理的模块。当模块的URL 传递给ModuleManager.getModule方法后,这个模块位置被添加到模块的管理列表中,返回一个
mx.modules.IModuleInfo类实例。

模块实际上是ModuleMananger的私有ModuleInfo类实例。ModuleInfo对象加载SWF文件,包装为实现了IModuleInfo的代理类,并通过ModuleManager.getModule方法返回实例对象。你可以监听这个代理的各种状态事件以便具体控制模块的加载。

下面的例子演示如何使用ModuleManager控制模块的显示:

+展开
-XML
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"
creationComplete="creationHandler();">

<mx:Script>
<![CDATA[
import mx.events.ModuleEvent;
import mx.modules.ModuleManager;
import mx.modules.IModuleInfo;
private var _moduleInfo:IModuleInfo;
private function creationHandler():void {
_moduleInfo = ModuleManager.getModule( 'ContactList.swf' );
_moduleInfo.addEventListener( ModuleEvent.READY, moduleLoadHandler );
_moduleInfo.load();
}
private function moduleLoadHandler(evt:ModuleEvent ):void {
canvas.addChild( _moduleInfo.factory.create() as DisplayObject );
}

]]>
</mx:Script>
<mx:Canvas id="canvas" width="500" height="500" />
</mx:Application>


当应用程序完成布局初始化操作后,通过ModuleManager.getModule方法加载ContactList模块并返回的IModuleInfo对象。当下载模块时IModuleInfo的实现扮演着Loader实例的代理。

当模块成功下载后,使用IFlexModuleFactory.create方法添加到显示列表。这个方法返回模块的实例对象,类型被映射为DisplayObject,添加到Canvas容器的显示列表。

Y通过getModule方法返回的IModuleInfo对象,你可以监听模块的各种下载状态事件。这个例子中,应用程序直到模块完全下载后才添加到显示列表,触发的事件类型为ModuleEvent,SWF模块的下载状态有progress到error等几个状态(Table 22-1)。

IModuleInfo 实现类的unload方法用于删除ModuleManager中的模块引用,但是不会删除显示列表中的SWF。要删除显示列表中的模块,你必须显示调用父对象的removeChild方法。

相比较之下ModuleLoader类根据url属性的更新去加载模块,而getModule方法返回的IModuleInfo实现类可以更好控制模块的加载和显示。这可以使你能预先加载模块,在与用户交互中能立即显示,缩短请求和渲染模块时间

ModuleManager 模块管理器 来自Ialdabaoth( )的原始(c) 修改者//修改者// //由sarbian( )维护 原始许可证要求为: 根据CC共享许可协议。 任何人都可以随意使用ModuleManager的源代码做任何他们想做的事情,但有两个警告: 您相信我是您的代码所基于的原始创建者 您完全清楚您的代码不是原始的ModuleManager,并且人们对您的fork所遇到的任何问题都应该由您(而不是我)来解决。 这不是原始的模块化代码。 不要为Ialdabaoth的任何问题而烦恼。 依存关系 单声道resgen2 Fedora: sudo dnf install mono-devel Mono C#编译器Fedora: sudo ln -s /usr/bin/mcs /usr/bin/gmcs 立即下载

相关推荐

从梯度泄露到数据复原:DLG与iDLG算法实战解析

本文深入解析了DLG与iDLG算法在梯度泄露与数据复原中的实战应用,揭示了联邦学习中的隐私风险。通过详细代码示例和实验数据,展示了如何从梯度中复原原始训练数据,并探讨了梯度压缩、差分隐私等防御措施。文章特别强调了iDLG算法在标签破解中的高效性,为AI安全领域提供了重要参考。

weixin_30552811的博客 191

模块管理最佳实践-ModuleManager

文章目录前言module -> aarpom文件MavenPublishPluginMavenPublishPlugin#realizePublishingTasksLaterMavenPublishPlugin#createGeneratePomTaskGenerateMavenPom#doGenerateDefaultMavenPublication选择合适的component构建蓝图完成蓝图module发布件统一配置MethodMissing机制module依赖方式自动切换一键发布所有modul

yizunda的专栏 724

告别双系统!用Ventoy把Ubuntu 22.04装进U盘,打造你的随身开发环境(附保姆级避坑指南)

本文详细介绍了如何使用Ventoy将Ubuntu 22.04安装到U盘,打造便携式开发环境。通过即插即用的特性,开发者可以在任何x86电脑上快速启动完整的Ubuntu系统,无需配置双系统或虚拟机。文章提供了从硬件准备到系统优化的全流程指南,帮助用户高效创建随身开发环境。

weixin_31569671的博客 364

【Unity】HTModuleManager(一)模块管理器

本文介绍了HTModuleManager模块管理器,一个类似Unity包管理器的扩展包管理工具。它支持原生模块和自动引用模块的统一管理,提供克隆、拉取、冲突解决等Git操作功能,并集成TortoiseGit增强功能。最新版本支持Markdown解析README文件,方便模块文档展示。该工具无需本地安装Git,可通过配置文件自定义模块,适用于Unity项目中的扩展包管理。

神码编程 6328

从PHY芯片看工业网络精准时钟:IEEE 1588v2(PTP)协议实现与选型指南

本文深入解析了工业网络中IEEE 1588v2(PTP)协议的实现与PHY芯片选型要点。通过对比KG7101、RTL8211F等芯片的关键参数,揭示硬件时间戳对纳秒级时钟同步的决定性作用,并提供PTP网络设计中的拓扑布局与配置优化技巧,助力工业自动化场景实现精准时间同步。

weixin_42628688的博客 500

2023 年全国网络安全行业职业技能大赛-电子数据取证分析师-决赛WP_2023网络安全行业赛取证

数据库取证工具里面可以恢复删除掉的数据带红叉的就说删除过的,game库下面announcement_detail表里面update_time字段使用sql语句时间戳最大为1513243355转换时间为2017-12-14 17:22:35。

2401_89791684的博客 2092

Prism教程三: Module

Prism的核心功能之一就是支持模块化应用程序开发(Modular Application Development),并且在运行时对各个模块进行动态管理。 使用Prism进行模块化开发首先要了解几个概念: 1. Module:Module是一些逻辑上相关的程序集或者资源文件的集合,在Silverlight程序中通常以xap文件为单位存在。而每一个Module中都需要有一个负责进行初始化工作以及

Eric_K1m的专栏 2677

一文了解英伟达(NVIDIA)所有显卡芯片

英伟达(NVIDIA)的产品线庞杂繁复,从面向游戏玩家的GeForce RTX系列,到数据中心的H100、B200,再到Jetson、DRIVE等边缘智能平台,一般人很难以厘清其全貌。这篇文章将用通俗而专业的语言,一文打通英伟达显卡芯片体系,让你彻底读懂这个GPU帝国是如何运转的。

bjdx_001的博客 6352

探索模块化管理新境界:ModuleManager

探索模块化管理新境界:ModuleManager 去发现同类优质开源项目:https://gitcode.com/ 项目简介 ModuleManager 是一个强大的模块化管理工具,旨在帮助开发者更好地组织和管理他们的代码库,特别是在大型项目中,使得代码结构清晰、可维护性更高。通过提供灵活的模块加载机制,ModuleManager 可以让你轻松地实现代码的复用和独立开发。 技术解析 ModuleM...

gitblog_00062的博客 483

SAP ERP 物料主数据同步外围系统

w_input-beskz = i_marc_new-beskz."采购类型 " BESKZ--- ADD BY HX_FHJ 20210106。w_input-beskz = lw_marc-beskz."采购类型 " BESKZ--- ADD BY HX_FHJ 20210106。w_input-sobsl = i_marc_new-sobsl."特殊采购类型-虚拟物料标识。

ChampaignWolf的专栏 1744

FI 应计对象的创建和摊销

创建/修改:ACACTREE01/ACACTREE02 应计对象的过账:ACACPOSTING

nancyln9711的博客 903

Flex中的模块 ModuleLoader 、ModuleManager

[code="java"]ModuleLoader Flex中的ModuleLoader组件为模块的载入提供和很方便的接口,它是高层的处理Module的API。 可以这种在flex中简单的使用module 也可以在编程时动态的改变URL,来加载不同的Module。 ModuleLoader其实是一种特殊的导航式容器。和一般导航式容器如ViewStack不同的是,M...

上善若水,浮生如茶 245

结合MATLAB/Simulink和多体动力学仿真软件UM(Universal Mechanism),建立高速列车轴箱轴承的动力学模型,并通过联合仿真分析其正常运行特性和典型故障模式

高速列车是现代交通运输的重要组成部分,其运行速度高、载客量大,对安全性和可靠性提出了极高的要求。轴箱轴承作为高速列车的关键部件之一,承担着传递载荷和支撑车轴的重要作用。然而,由于长期运行在高速、重载和复杂工况下,轴箱轴承容易出现疲劳磨损、润滑失效和裂纹等故障,从而影响列车的安全性。本项目旨在结合MATLAB/Simulink和多体动力学仿真软件UM(Universal Mechanism),建立高速列车轴箱轴承的动力学模型,并通过联合仿真分析其正常运行特性和典型故障模式。

xiaoheshang_123的博客 329

使用ModuleLoader载入模块

mx.modules.ModuleLoader类是一个容器类,功能类似于mx.controls.SWFLoader 组件。它载入SWF并把模块添加到应用程序的显示列表。ModuleLoader和SWFLoader不同之处在于它有一个约定,这个被载入的SWF须实现IFlexModuleFactory。被编译的模块包含IFlexModuleFactory类工厂,它允许应用程序在运行期间动态载入模块化S...

shilei的专栏 795

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

As 动态载入模块Bug【原创】

  昨天Flex项目升级,从3.5的SDK升级到4.0,中间出现不少问题,截止至现在刚刚解决最大的问题就是swf模块动态载入的问题。 3.5代码如下: //加载显示Widget private function loadWidget(id:Number, url:String, preload:String):void { ...

weixin_30808575的博客 70

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Flex Module 加载 及模块运用详细解释(除卸载)

[导读]Flex Module 加载 及模块运用详细解释(除卸载) 一、Module使用背景 Module 是Adobe为解决Flex应用初始化时较大的下载负载问题而设计的一种折中方案。将主Application合理分割为多个Module后,配合延迟加载策略,就可以保证主Application在初始化只加载必要的资源从而减少等待时间。未被访问的Module默认将不被加载,这样在首次访问它

学习记录 3128

Flex中的模块

 参考 应用Moduler方式重构应用Using the ApplicationDomain class 加载和卸载模型 关于flex的module开发  Module  Module加载是Adobe解决Flex系统应用初始化时较大的下载负载而设计的一种折中方案。Module是为自己项目准备的,如果你的项目编译后大小是1.5M

dream8062的专栏 717

Module类和接口关系

1.Module:实现:IModel2. IModule将类标记为模块的接口。3.IFlexModuleFactory 实现:SystemManager(SystemManager 类管理应用程序窗口);SystemManager 是在应用程序中创建的第一个显示类。它负责创建要显

sysu_2010的专栏 1578

flex学习文章之《模块加载》

最近准备拿flex做个项目练练手,初步设定需求是个视频聊天软件,通信视频服务选用red5,远程录屏选用java开源项目,前端使用flex。在开发过程中,碰到一些小问题,通过博客记录下来,方便以后回顾。 客户聊天功能我使用了两种方式进行数据传输,客户端都监听shareobject对象,还有一种是客服端call服务器的方法,通过服务器invoke通知。这中间模块建立的模块有点多,感觉挺乱的,...

weixin_30730151的博客 100
上一篇: AS3对象序列化存储
下一篇: flashPlayer自动降频后webgame处理技巧
jamesjun
博客等级 码龄19年 25粉丝 33原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值