`
shlei
  • 浏览: 287958 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

使用ModuleLoader载入模块

    博客分类:
  • FLEX
阅读更多
mx.modules.ModuleLoader类是一个容器类,功能类似于mx.controls.SWFLoader 组件。它载入SWF并把模块添加到应用程序的显示列表。ModuleLoader和SWFLoader不同之处在于它有一个约定,这个被载入的SWF须实现IFlexModuleFactory。被编译的模块包含IFlexModuleFactory类工厂,它允许应用程序在运行期间动态载入模块化SWF而不需要在主应用程序中实现此接口。
虽然ModuleLoader对象是一个可视的容器,可载入继承自Module和ModuleBase的模块,不依赖于这个模块是否包含有框架代码或可视对象。ModuleLoader的url属性指向一个模块的具体位置。设置url属性后,组件内部会调用loadModule方法,开始下载模块。
下面的例子在应用程序同一个域中载入模块:
<mx:Application 
    xmlns:mx="http://www.adobe.com/2006/mxml" 
    layout="vertical"> 
 
   <mx:Panel title="Contacts:" width="350" height="180" 
        horizontalAlign="center" verticalAlign="middle"> 
        <mx:ModuleLoader url="ContactList.swf" /> 
    </mx:Panel> 
 
</mx:Application>

当应用程序启动时,ModuleLoade去载入ContactList.swf 模块,载入完成后,它被添加到应用程序显示列表中。
ModuleLoader组件也允许你动态卸载和加载模块。对ModuleLoader的url属性的设置在内部会调用loadModule方法,添加这个模块作为子节点。调用unloadModule方法可删除显示列表中的模块。调用unloadModule是设置module引用为null,但是并不会改变url属性值。
下面的例子中演示模块的加载和卸载:
Code View:
<mx:Application 
    xmlns:mx="http://www.adobe.com/2006/mxml" 
    layout="vertical"> 
 
    <mx:Script> 
        <![CDATA[ 
 
            private function displayModule( moduleUrl:String ):void 
            { 
                var url:String = moduleLoader.url; 
                if( url == moduleUrl ) return; 
                if( url != null ) moduleLoader.unloadModule(); 
                moduleLoader.url = moduleUrl; 
            } 
 
            private function showHandler():void 
            { 
                displayModule( "ContactList.swf" ); 
            } 
           private function enterHandler():void 
            { 
                displayModule( "ContactEntry.swf" ); 
            } 
 
        ]]> 
    </mx:Script> 
 
    <mx:Panel title="Contacts:" width="350" height="210" 
        horizontalAlign="center" verticalAlign="middle"> 
        <mx:ModuleLoader id="moduleLoader" height="110" /> 
        <mx:HRule width="100%" /> 
        <mx:HBox width="100%"> 
            <mx:Button label="show list" click="showHandler();" /> 
            <mx:Button label="enter contact"                               click="enterHandler();" /> 
        </mx:HBox> 
    </mx:Panel> 
 
</mx:Application>
 
      
Button控件的Click事件处理器更新相应模块。这个应用程序通过加载ContactList.swf模块和ContactEntry.swf模块交替显示联系人信息列表和用户信息输入表单。
当模块加载到应用程序中后,它会被添加到mx.modules.ModuleManager对象的模块列表中。当删除时,引用会被设置为null以释放内存和资源。对于加载和卸载基于Flex的应用程序模块来说使用ModuleLoader是一种很方便的方法。

http://ccap168.cn/news/20093713465.htm
http://ccap168.cn/news/200937134347.htm
http://livedocs.adobe.com/flex/3/html/help.html?content=modular_5.html
http://www.code-design.cn/article/20100426/2232.aspx
http://bbs.airia.cn/thread-13661-1-1.html
分享到:
评论

相关推荐

    flex3的cookbook书籍完整版dpf(包含目录)

    使用ModuleLoader载入模块 22.8节.使用ModuleManager载入模块 22.9节.载入来自不同服务器的模块 22.10节.与模块通信 22.11节.使用查询字符串传递数据给模块 22.12节.使用连接报告优化模块 第二十三章.Adobe ...

    易语言特效载入窗口模块源码

    7. **特效载入**:通常是指在数据加载过程中,使用动画来表示正在处理的进程,提高用户耐心。 易语言提供了丰富的API函数和类库,使得开发者可以方便地实现这些特效。通过阅读和学习"content.txt"这个文本文件,...

    易语言创建进程载入DLL模块源码

    【易语言创建进程载入DLL模块源码】是关于编程技术的一个主题,主要涉及的是Windows系统下使用易语言(E语言)进行进程管理和动态链接库(DLL)操作的知识点。易语言是一种中国本土开发的、面向对象的、中文编程语言...

    易语言API + 嵌入汇编 实现初级隐藏自身支持库载入模块信息

    本话题聚焦于“易语言”结合API(应用程序接口)和嵌入汇编,实现初级隐藏自身及支持库载入模块信息的技术。 首先,API是操作系统或软件提供给开发者调用的接口,通过API,程序可以与操作系统进行交互,完成特定...

    易语言彗星载入线程窗口模块

    易语言彗星载入线程窗口模块源码,彗星载入线程窗口模块,彗星载入线程窗口,彗星销毁线程窗口,窗口线程,OnMessage,消息循环,CreateThread,GetMessage,DispatchMessage,TranslateMessage,PostQuitMessage,...

    python基础 25 import 载入模块 (教学教程tutorial)

    python基础_25_import_载入模块_(教学教程tutorial)

    易语言载入及销毁窗口增强模块

    本模块主要关注的是“载入及销毁窗口”的功能,这对于任何图形用户界面(GUI)应用程序来说都是核心部分。 窗口载入和销毁是程序生命周期中的关键步骤。在易语言中,窗口载入涉及到创建窗口对象、设置窗口属性、...

    完整版可执行动态载入&输出其他文件模块演示例子.e.rar

    在IT行业中,动态载入和输出其他文件模块是软件开发中的关键技术,特别是在构建可扩展性和灵活性高的系统时。此压缩包"完整版可执行动态载入&输出其他文件模块演示例子.e.rar"显然是为了展示如何实现这一功能的一个...

    易语言源码彗星载入线程窗口模块易语言源码.rar

    本压缩包“易语言源码彗星载入线程窗口模块易语言源码.rar”包含的是一份使用易语言编写的彗星载入线程窗口模块的源代码,这对于我们理解易语言的编程原理和线程、窗口模块的实现机制提供了宝贵的学习材料。...

    彗星载入线程窗口模块易语言源码

    "彗星载入线程窗口模块易语言源码"是针对易语言的一个示例项目,主要涉及到线程管理和窗口操作这两个关键的编程概念。 首先,我们要理解什么是线程。在计算机科学中,线程是程序执行的最小单元,是操作系统调度的...

    完整版可执行动态载入&输出其他文件模块.rar

    这个“完整版可执行动态载入&输出其他文件模块.rar”压缩包很可能包含了一些示例代码或者库,用于演示如何在程序运行时动态地加载和使用外部模块,以及如何将数据或代码输出到其他文件中。下面我们将深入探讨这两个...

    易语言创建进程载入DLL模块

    易语言创建进程载入DLL模块源码,创建进程载入DLL模块,进程_创建进程载入DLL,操作_取路径目录,进程_恢复进程,操作_jmp地址取机器码,线程_取线程信息,操作_取API地址,操作_取函数入口,内存_读整数内存,内存_读短整数...

    QFlash-V5.9移远模块升级软件

    3. 固件包的存储/载入路径需是本地路径,不能使用 U 盘或网盘路径。 1.2. 适用模块 QFlash 适用于下列移远通信模块。 1、LPWA 模块系列 2、LTE Standard 模块系列 3、LTE-A 模块系列 4、车规级模块系列 5、智能模块...

    通过内存载入支持库易语言模块源码

    本文将深入探讨如何通过内存载入支持库来使用易语言模块源码,以及相关知识点。 易语言(EasyLanguage)是一款面向普通用户的、以中文为编程语句的编程环境。它采用了贴近中文语法的设计,使得非专业程序员也能快速...

    易语言API嵌入汇编实现初级隐藏自身支持库载入模块信息

    易语言API嵌入汇编实现初级隐藏自身支持库载入模块信息源码,字节集_到整数,字节集_到短整数,文本型_取空白,系统_取文件名,文本型_寻找,字节集_取指针,字节集_取长度,GetCurrentProcess,NtQueryInformationProcess,...

    E语言源码可执行动态载入&输出其他文件模块.zip

    动态载入模块是程序运行时按需加载库或功能模块的技术,这种机制允许程序在运行过程中发现并使用新的功能,而不需要在编译时就确定所有的依赖。在E语言中,动态载入通常通过特定的API来实现。这些API可能包括`...

    易语言源码载入及销毁窗口增强模块源码.rar

    4. **示例代码**:提供使用模块的示例代码,帮助初学者快速理解和应用。 5. **注意事项**:可能包括兼容性问题、错误处理、性能优化等方面的提示,确保开发者在使用过程中避免常见问题。 6. **调试与测试**:指导...

    易语言模块特效窗口模块.rar

    此外,使用模块时,开发者还需要了解模块的使用方法、函数参数及其返回值,遵循模块的文档说明进行操作。如果遇到问题,可以查阅相关资料或者参与易语言社区的讨论,寻求帮助。 总的来说,“易语言模块特效窗口模块...

    易语言模块多表格载入ADO数据.rar

    5. **多表格处理**:在易语言中,如何使用模块来同时处理多个Recordset对象,实现对多个表格的并发操作或顺序操作。 6. **数据绑定**:如果模块提供了数据绑定功能,那么还可以学习如何将载入的数据与易语言的界面...

    完整版可执行动态载入&输出其他文件模块.e.rar

    动态载入(Dynamic Loading)和输出其他文件模块(通常是DLL或动态链接库,在Windows系统中)是编程中的两种重要概念,它们能够帮助优化程序资源的使用、提高程序性能,并实现模块化设计。下面将详细讲解这两个概念...

Global site tag (gtag.js) - Google Analytics