`
javasogo
  • 浏览: 1775208 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Flex动态创建类对象

 
阅读更多

自ActionScript 3开始,eval函数就被取消了,这样就不能像原来那样利用字符串动态的创建对象了,但利用函数flash.utils.getDefinitionByName仍可以根据类型名称动态地创建类对象实例,下面看一个例子:

输出结果:

DynamicObject is created!
DynamicObject is created!

其实这样的输出结果,没什么意外的。接下来将“new DynamicObject();”注释掉继续执行,以下是输出解决:

ReferenceError: Error #1065: Variable DynamicObject is not defined.
	at global/flash.utils::getDefinitionByName()
	at TestMain/application1_applicationCompleteHandler()[C:/Documents and Settings/Administrator/My Documents/Workspace/eclipse/ccgc/src/TestMain.mxml:14]
	at TestMain/___TestMain_Application1_applicationComplete()[C:/Documents and Settings/Administrator/My Documents/Workspace/eclipse/ccgc/src/TestMain.mxml:2]
	at flash.events::EventDispatcher/dispatchEventFunction()
	at flash.events::EventDispatcher/dispatchEvent()
	at mx.core::UIComponent/dispatchEvent()
	at mx.managers::SystemManager/preloader_preloaderDoneHandler()[C:/autobuild/3.5.0/frameworks/projects/framework/src/mx/managers/SystemManager.as:3140]
	at flash.events::EventDispatcher/dispatchEventFunction()
	at flash.events::EventDispatcher/dispatchEvent()
	at mx.preloaders::Preloader/displayClassCompleteHandler()[C:/autobuild/3.5.0/frameworks/projects/framework/src/mx/preloaders/Preloader.as:435]
	at flash.events::EventDispatcher/dispatchEventFunction()
	at flash.events::EventDispatcher/dispatchEvent()
	at mx.preloaders::DownloadProgressBar/timerHandler()[C:/autobuild/3.5.0/frameworks/projects/framework/src/mx/preloaders/DownloadProgressBar.as:1451]
	at mx.preloaders::DownloadProgressBar/initCompleteHandler()[C:/autobuild/3.5.0/frameworks/projects/framework/src/mx/preloaders/DownloadProgressBar.as:1503]
	at flash.events::EventDispatcher/dispatchEventFunction()
	at flash.events::EventDispatcher/dispatchEvent()
	at mx.preloaders::Preloader/dispatchAppEndEvent()[C:/autobuild/3.5.0/frameworks/projects/framework/src/mx/preloaders/Preloader.as:291]
	at mx.preloaders::Preloader/appCreationCompleteHandler()[C:/autobuild/3.5.0/frameworks/projects/framework/src/mx/preloaders/Preloader.as:443]
	at flash.events::EventDispatcher/dispatchEventFunction()
	at flash.events::EventDispatcher/dispatchEvent()
	at mx.core::UIComponent/dispatchEvent()
	at mx.core::UIComponent/set initialized()
	at mx.managers::LayoutManager/doPhasedInstantiation()
	at Function/http://adobe.com/AS3/2006/builtin::apply()
	at mx.core::UIComponent/callLaterDispatcher2()
	at mx.core::UIComponent/callLaterDispatcher()

之所以会出错,是因为在Flex编译程序时会自行删除一些未使用的,这时在动态创建对象时就会因缺失对象的类型而创建失败。之前的代码之所以执行成功,是因为类型DynamicObject在代码中显示地被使用,所以类型信息DynamicObject在编译时不会被删除。

其实还有一种方法来保证类型信息的存在,就是利用编译参数,也可以保证程序正常执行:

分享到:
评论

相关推荐

    flex dataGrid分页 皮肤 隔行变色 实时交互

    其中最重要的文件是DataGridPaging.mxml文件,它是自定义的控件,由于公司需要我们需要动态创建dataGrid控件,所以才有components包下的其他控件。Test是运行主页,由于我们公司用的都是json解析的,所以在pageBean...

    flex dataGrid 分页控件

    其中最重要的文件是DataGridPaging.mxml文件,它是自定义的控件,由于公司需要我们需要动态创建dataGrid控件,所以才有components包下的其他控件。Test是运行主页,由于我们公司用的都是json解析的,所以在pageBean...

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

    用FlexBuilder创建Flex项目 1.2节.用FlexBuilder创建Flex库项目 1.3节.创建ActionScript项目 1.4节.在FlexBuilder中设置MXML编译器选项 1.5节.在FlexBuilder外部编译Flex项目 1.6节.在MXML中添加事件监听器 1.7节....

    看完Flex就可以做出一个小游戏

    动态效果:移动,旋转,放大,淡入淡出效果 数学函数:随机数,四舍五入, 定时器:创建,定时调用的方法,启动,停止 事件:鼠标事件,键盘事件,绑定事件 页面初始化事件creationComplete 表格DataGrid, data...

    ActionScript开发技术大全

    11.1可视对象类DisplayObject 225 11.1.1可视对象列表 225 11.1.2位置、尺寸、透明度与可见性 227 11.1.3缩放与旋转 228 11.1.4坐标体系 231 11.1.5背景色 232 11.1.6区域与范围 233 11.1.7色彩调整 235 11.1.8遮罩 ...

    Flex_4:开发RIA_应用程序.pdf

    创建Flex 项目 ................................................................................................................................................ 20 使用新建Flex 项目向导 ..................

    ActionScript开发人员指南中文版

    创建自定义错误类 响应错误事件和状态 比较错误类 处理错误示例:CustomErrors应用程序 第章:使用正则表达式 正则表达式基础知识 正则表达式语法 对字符串使用正则表达式的方法 正则表达式示例:Wiki解析程序 第章:...

    Ranorex用户指南

    有动态功能的在线视图和离线视图 [代码示例] 在代码中使用对象库 使用对象库等待UI元素 建立Adapter来访问更多的属性和方法 为对象库元素建立一组Adapter 使用Validate类 强制一个测试用例失败 设置automation...

    Altium Designer Beta 19.0.10完整版安装包+安装教程+和谐文件

    DXF导入现在可以正确支持样条线对象并创建相应的多边形对象。 25959 解决了导入xDX Designer项目时未转换某些组件的问题。 27588 修复了在使用多部件组件导入特定xDxDesigner设计期间发生“访问冲突”的问题。 28014...

    Foundation Actionscript 3.0 Animation

    2.3.7创建文档类 2.4设置AtionSript3.0应用程序 2.4.1使用FlashS3IDE 2.4.2使用FlexBuilder 2.4.3使用免费的命令行编译器 2.4.4关于跟踪 2.4.5缩放影片 2.5使用代码动画 2.5.1循环 2.5.2帧循环 2.5.3剪辑事件 2.5.4...

    Flash 反编译工具 Flash Decompiler Trillix 5.3.1400 中文汉化版.zip

    Flash Decompiler Trillix 5.3.1370 汉化版也可以转换成 Adobe 的 Flex 文件,由 Adobe Flex Builder 中创建的。 Flash Decompiler Trillix 汉化版为您提供有关整个 Flash 影片,它的形状,图像,摇身一变等的详细...

    asp.net知识库

    动态创建数据库 SQL Server数据库安全规划全攻略 .net通用数据库访问组件SQL Artisan应用简介1 在Framework1.0下同时连接SqlServer和Oracle的一些体会 XML XPath XPath最通俗的教程(ZZ) XPath中相对路径和绝对路径...

    [Flash.ActionScript.3.0动画教程

    2.3 类和面向对象编程 2.3.1 基类 2.3.2 包(Package) 2.3.3 导入(Import) 2.3.4 构造函数(Constructor) 2.3.5 继承(Inheritance) 2.3.6 Movielip/Sprite子类 2.3.7 创建文档类(Document class) 2.4 设置AtionSript...

    Maven权威指南 很精典的学习教程,比ANT更好用

    简单的项目对象模型 (Project Object Model) 3.5. 核心概念 3.5.1. Maven插件和目标 (Plugins and Goals) 3.5.2. Maven生命周期 (Lifecycle) 3.5.3. Maven坐标 (Coordinates) 3.5.4. Maven仓库(Repositories)...

    Ranorex Automation-crx插件

    *减少测试自动化维护Ranorex市场领先的GUI对象识别可处理任何类型的现代应用程序,包括动态构建的用户界面。 结合功能强大的对象映射编辑器,您可以显着减少测试维护-这对于敏捷团队而言尤其重要。 *广泛接受。 多个...

Global site tag (gtag.js) - Google Analytics