文档章节

Module加载

暗之幻影
 暗之幻影
发布于 2015/09/23 16:59
字数 165
阅读 7
收藏 0

package net.lanelife.framework.catwindows.core
{
	import flash.events.ProgressEvent;
	import flash.system.ApplicationDomain;
	
	import mx.core.FlexGlobals;
	import mx.events.ModuleEvent;
	import mx.modules.IModuleInfo;
	import mx.modules.ModuleManager;
	
	import net.lanelife.framework.catwindows.utils.ProgressBar;

	[Bindable]
	public class Application
	{
		
		public var name:String;
		public var moduleUrl:String;
		
		
		private var module:IModuleInfo;
		
		private var progressBar:ProgressBar;
		
		
		public function run():void
		{
			module = ModuleManager.getModule(moduleUrl);   
			
			module.addEventListener(ModuleEvent.READY, module_readyHandler);   
			module.addEventListener(ModuleEvent.PROGRESS, module_progressHandler);
			module.addEventListener(ModuleEvent.ERROR, module_errorHandler);
			if (module.loaded)
			{
				start();
			}
			else
			{
				progressBar = new ProgressBar();
				module.load(ApplicationDomain.currentDomain);
			}
		}
		
		private function start():void
		{
			//trace("========"+module.url)
			var application:IApplication = module.factory.create() as IApplication;    
			FlexGlobals.topLevelApplication.addElement(application);
			application.run();
			module.unload();
		}
		
		private function module_readyHandler(event:ModuleEvent):void
		{
			event.target.removeEventListener(ModuleEvent.READY, module_readyHandler);
			event.target.removeEventListener(ModuleEvent.PROGRESS, module_progressHandler);
			event.target.removeEventListener(ModuleEvent.ERROR, module_errorHandler);
			
			progressBar.close();
			start();
		}
		
		private function module_progressHandler(event:ModuleEvent):void
		{
			//trace(module.url)
			progressBar.progress(event as ProgressEvent, "正在加载"+name+",请稍候...");
		}
		
		private function module_errorHandler(event:ModuleEvent):void
		{
			event.target.removeEventListener(ModuleEvent.READY, module_readyHandler);
			event.target.removeEventListener(ModuleEvent.PROGRESS, module_progressHandler);
			event.target.removeEventListener(ModuleEvent.ERROR, module_errorHandler);
			progressBar.showError(name+"加载失败:"+event.errorText);
		}
	}
}

 模块加载代码,用法:

loginApplication = new net.lanelife.framework.catwindows.core.Application();
				loginApplication.name = "登录程序";
				loginApplication.moduleUrl = "os/software/net/lanelife/webos/soft/login/Login.swf";
				
				loginApplication.run();
 

本文转载自:http://depravedangel.iteye.com/blog/1143544

暗之幻影
粉丝 20
博文 377
码字总数 71245
作品 0
南京
高级程序员
私信 提问
angular学习(十四)——Module

转载请写明来源地址:http://blog.csdn.net/lastsweetop/article/details/57417779 什么是Module 你可以把Module当作是个容器,里面包含了controllers, services, filters, directives。 为什...

lastsweetop
2017/02/26
0
0
[Erlang 0010] Erlang 热更新

Erlang脱胎于电信业,Joe Armstrong在描述Erlang的设计要求时其中就提到了软件维护应该能在不停止系统的情况下进行。在实践中,我们也因为这种不停服务的热更新获益良多,终于不再用等到半夜没有...

唐玄奘
2017/12/03
0
0
Common Lisp 函数 require 和 provide 源代码分析

Common Lisp 函数 require 和 provide 源代码分析 涉及文件:l1-files.lispl1-init.lisp作者:FreeBlues2013-08-19 目录 0)1)2)2.1)2.2)2.3) 0 概述(id:0) require 使用场景, 使用 quicklisp ......

FreeBlues
2013/08/19
790
0
seajs 源码 学习心得

学习seajs源码前: 1,异步加载js文件方法 var script = document.createElement('script'); script.onload = function(){ } script.src = src; 2,异步加载完成时,将自动执行JS文件内容 3,......

wisdomofgod
2015/12/30
31
0
Lua标准库- 模块(Modules)

Lua包库为lua提供简易的加载及创建模块的方法,由require、module方法及package表组成   1、module (name [, ···]) 功能:建立一个模块。   module的处理流程: module(name, cb1, cb2...

jeffjade
2014/12/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

debian10使用putty配置交换机console口

前言:Linux的推广普及,需要配合解决实际应用方能有成效! 最近强迫自己用linux进行实际工作,过程很痛苦,还好通过网络一一解决,感谢各位无私网友博客的帮助! 系统:debian10 桌面:xfc...

W_Lu
35分钟前
10
0
aelf Enterprise 0.8.0 beta有奖公测,“Bug奖金计划”重磅开启

2019年9月30日,aelf Enterprise 0.8.0 beta版正式发布。aelf Enterprise 0.8.0 beta是一个完备的区块链系统, 包含完备的区块链系统、开发套件、开发文档、以及配套的基础应用和基础服务。 ...

AELF开发者社区
37分钟前
8
0
oracle 初始化数据库脚本

create user lpf identified by 123456; create tablespace lpf_ts_cms datafile '/opt/app/oracle/product/11.2.0/lpf.dbf' size 200M; alter user lpf default tablespace lpf_ts_cms; sel......

internetafei
41分钟前
7
0
《区块链DAPP开发入门、代码实现、场景应用》笔记1——天外飞仙DAPP

Solidity编程语言解决了编写智能合约的不友好的问题,但是当合约编译并部署之后,对与这些接口的访问,对于一般的使用者来说,门槛有点高, 对普通用户来说也是非常不友好,为了使广大用户理...

柯南和由美
45分钟前
6
0
流程图制作软件推荐_流程图制作软件哪个好

流程图(Flow Chart)是一种表示算法思路的图示,通过特定图形、图表可以直观的说明某一过程。这种过程既可以是生产线上的工艺流程图,也可以标明某项任务必需的管理过程。为了便于识别,绘制...

工具分享
48分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部