易截截图软件、单文件、免安装、纯绿色、仅160KB

Flex多SWF文件加载之Applicatoin Domain


概要
当我们加载外部swf时,必须要了解应用程序域(Application Domain)。从Adobe官方文件中,我们可以得知应用程序域能够把处于同一个安全域(Security Domain)中的类分离开,这样就可以让一个类的多个定义共存,或是让多个子应用来共享父应用的类定义。简单点理解就是应用程序域为类定义提供了分区功能。
应用程序域
一个类的多个定义共存:内存中有多个类,它们名称相同,但定义不同定义,由于处于不同的应用程序域,所以互不干扰,得以共存。
子应用共享父应用的类定义:N个子应用引用同一个父应用的所提供的类定义,当父应用更新时,子应用所引用的内容也会随之更新。
当加载外部swf文件时,可以为其设置三种应用程序域:
一、将加载的swf指定至一个既存的应用程序域中。
二、将加载的swf指定为一个既存的应用程序域的子应用程序域。
三、为加载的swf指定一个全新的应用程序域。
我们先来看一下官方文档的说明图:
图中共有四个文件,分别为application1.swf、module1.swf、application2.swf和module3.swf。module1.swf、application2.swf和module3.swf均被application1.swf加载,其中module1.swf与application1.swf属于同一个域,module3.swf被划分至application1.swf的子应用程序域,最后是application2.swf,它完全拥有一个独立的应用程序域。
独立域,在应用定义相同的情况下,可以使几个版本并行
var appDomainA:ApplicationDomain = new ApplicationDomain();
var contextA:LoaderContext = new LoaderContext(false, appDomainA);
var loaderA:Loader = new Loader();
loaderA.load(new URLRequest("application2.swf"), contextA); 
共享域,增加新的类定义(RSL)
var appDomainB:ApplicationDomain = ApplicationDomain.currentDomain;
var contextB:LoaderContext = new LoaderContext(false, appDomainB);
var loaderB:Loader = new Loader();
loaderB.load(new URLRequest("module1.swf"), contextB); 
子域,子域中的类引用父应用中的类定义
var appDomainC:ApplicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain);
var contextC:LoaderContext = new LoaderContext(false, appDomainC);
var loaderC:Loader = new Loader();
loaderC.load(new URLRequest("module3.swf"), contextC); 
注意事项
加载图片或是用ActionScript 1.0/2.0 编写的SWF文件时,不可以使用应


相关文档:

flex toolTip样式设置

需要3个文件。一个是样式类,一个样式文件,一个是mxml文件。
●MyToolTip.as
package{
 import mx.core.UITextField;
 import mx.skins.halo.ToolTipBorder;
 import mx.controls.ToolTip;
 public class MyToolTip extends ToolTipBorder {
  
  
  override ......

Flex中的本地共享对象 SharedObject

Flex中的本地共享对象--SharedObject
本地共享对象有时被称作“Flash Cookie”,它是一个数据文件,可以由所访问的站点在您的计算机上创建。在Flash中提供了下面的操作本地对象的方法:
SharedObject.clear() 删除本地共享对象;
SharedObject.flush() 立即把共享对象数据写入本地文件;
SharedObject.getLoc ......

Flex mp3播放

 <?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="myInit()">
 <mx:Script>
  <![CDATA[
  import flash.events.*;
  import flash.net.URLRequest;
  import flash.me ......

Flex——IDispose接口

前言
C/C++的开发,内存的管理是十分重要的课题,分配内存使用后要及时释放,否则内存泄漏导致内存耗尽。进入托管环境后,内存能够自动管理和回收,已经不用开发者太操心内存管理方面的问题了,在托管环境,开发者仍然可以做一些工作,提供内存回收的效率,例如,把类内部的引用对象设置为null是最基本的。借鉴在.net环境 ......

FLEX程序初始化及此解密过程

原文地址:
http://www.gridlinked.info/how-to-encrypt-flex-rsls/
这里截取并尝试翻译了一段FLEX程序初始化及此解密过程.
应用启动过程:
1. 首先, 为第1帧加载足够的数据.
2. Flash Player通过创建SystemManager实例执行加载数据.
3. SystemManager命令Flash Player停止在第一帧.
4. SystemManager创建Preloader,
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号