Flex动态创建类对象
2010年08月07日
自ActionScript 3开始,eval函数就被取消了,这样就不能像原来那样利用字符串动态的创建对象了,但利用函数flash.utils.getDefinitionByName仍可以根据类型名称动态地创建类对象实例,下面看一个例子: package test { public dynamic class DynamicObject { public function DynamicObject() { trace("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_applicationCompl ete()[C:\Documents and Settings\Administrator\My Documents\Workspace\eclipse\ccgc\src\TestMain.mxml :2] at flash.events::EventDispatcher/dispatchEventFunctio n() at flash.events::EventDispatcher/dispatchEvent() at mx.core::UIComponent/dispatchEvent() at mx.managers::SystemManager/preloader_preloaderDone Handler()[C:\autobuild\3.5.0\frameworks\projects\fr amework\src\mx\managers\SystemManager.as:3140] at flash.events::EventDispatcher/dispatchEventFunctio n() at flash.events::EventDispatcher/dispatchEvent() at mx.preloaders::Preloader/displayClassCompleteHandl er()[C:\autobuild\3.5.0\frameworks\projects\framewo rk\src\mx\preloaders\Preloader.as:435] at flash.events::EventDispatcher/dispatchEventFunctio n() at flash.events::EventDispatcher/dispatchEvent() at mx.preloaders::DownloadProgressBar/timerHandler()[ C:\autobuild\3.5.0\frameworks\projects\framework\sr c\mx\preloaders\DownloadProgressBar.as:1451] at mx.preloaders::DownloadProgressBar/initCompleteHan dler()[C:\autobuild\3.5.0\frameworks\projects\frame work\src\mx\preloaders\DownloadProgressBar.as:1503] at flash.events::EventDispatcher/dispatchEventFunctio n() at flash.events::EventDispatcher/dispatchEvent() at mx.preloaders::Preloader/dispatchAppEndEvent()[C:\ autobuild\3.5.0\frameworks\projects\framework\src\m x\preloaders\Preloader.as:291] at mx.preloaders::Preloader/appCreationCompleteHandle r()[C:\autobuild\3.5.0\frameworks\projects\framewor k\src\mx\preloaders\Preloader.as:443] at flash.events::EventDispatcher/dispatchEventFunctio n() 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在编译时不会被删除。 其实还有一种方法来保证类型信息的存在,就是利用编译参数,也可以保证程序正常执行:
-includes=info.knightrcom.puppet.PushdownWinGamePi nocchio
发表评论
-
VC6应用WMI获取系统信息
2012-01-20 09:31 1028VC6应用WMI获取系统信息 2011年05月02日 花 ... -
Windows Installer的简单应用
2012-01-20 09:31 693Windows Installer的简单应 ... -
Windows下的高精度定时器实现及精确时刻获取
2012-01-20 09:31 1328Windows下的高精度定时器实现及精确时刻获取 2010年 ... -
在android 2.3 AVD 模拟器上安装 google market 安卓市场
2012-01-20 09:31 576在android 2.3 AVD 模拟器上安装 google ... -
在android 2.3 AVD 模拟器上安装 google market 安卓市场
2012-01-20 09:31 576在android 2.3 AVD 模拟器上安装 google ... -
载沣:“瑜伽王爷”的柔软身段(二)
2012-01-19 14:33 514载沣:“瑜伽王爷”的柔软身段(二) 2012年01月09日 ... -
论外格用舍
2012-01-19 14:33 586论外格用舍 2012年01月13日 二十二、论外格用舍 ... -
中国人的用餐礼仪~~~有空大家看看,蛮受用的哦
2012-01-19 14:33 597中国人的用餐礼仪~~~有空大家看看,蛮受用的哦 2009年0 ... -
一代天骄成吉思汗的秘葬
2012-01-19 14:33 621一代天骄成吉思汗的秘 ... -
《论语》解读之3-19《使下以礼事上以忠》
2012-01-19 14:33 623《论语》解读之3-19《使下以礼事上以忠》 2011年12月 ... -
107条Javascript的常用语句
2012-01-17 04:21 469107条Javascript的常用语句 2010年12月31 ... -
学习JavaScript---对象
2012-01-17 04:21 514学习JavaScript---对象 2010年10月01日 ... -
JavaScript内置对象
2012-01-17 04:20 462JavaScript内置对象 2010年11月01日 ... -
JS学习---ECMAScript对象
2012-01-17 04:20 587JS学习---ECMAScript对象 2010年11月25 ... -
女性最为吸引人的品质
2012-01-16 03:10 438女性最为吸引人的品质 2009年10月11日 ... -
现代女性怎样说话才可爱
2012-01-16 03:10 714现代女性怎样说话才可 ... -
流利口语脱口而出第九课
2012-01-16 03:10 558流利口语脱口而出第九课 2009年10月13日 第九课 ... -
女性恋爱时在意的11件事情
2012-01-16 03:10 528女性恋爱时在意的11件事情 2009年07月31日 如果 ... -
女性最为吸引人的品质
2012-01-16 03:10 429女性最为吸引人的品质 ...
相关推荐
### Flex动态创建多个曲线图和柱形图源码解析 #### 概述 在Adobe Flex框架下,开发者可以通过MXML和ActionScript实现丰富的用户界面和交互功能。在本例中,我们将探讨如何利用Flex来动态地创建多个曲线图和柱形图...
"Flex动态生成checkbox组"这个主题,就是关于如何在Flex应用中利用代码动态创建并管理一系列的Checkbox组件。 Flex是一种基于ActionScript和MXML的开源框架,用于构建富互联网应用程序(RIA)。在Flex中,我们可以...
在Flex编程中,动态加载外部图片是一项常见的需求,特别是在创建数据驱动的应用程序或者需要根据用户交互更新界面的情况下。本文将深入探讨如何在Flex项目中实现这一功能,包括基本原理、步骤以及常见问题的解决策略...
在Flex编程中,动态画直线是一项基础且实用的技术,尤其在构建交互式用户界面或图形应用时。本文将深入探讨如何使用Flex实现这个功能,并基于提供的"Flex 动态画直线"主题,解释核心概念和步骤。 首先,让我们了解...
这些对象被设计成一系列可继承的类,从而支持更高级的功能,如动态地图服务、要素查询和空间分析。 #### 结论 总而言之,ArcGIS Flex API充分利用了Flex的面向对象特性,为GIS开发者提供了一个强大而灵活的工具集...
3. **设置列数据**:通过遍历数据源,动态创建并添加DataGridColumn到DataGrid: ```actionscript for each (var column:Object in columns) { var dataGridColumn:DataGridColumn = new DataGridColumn(); ...
在MapABC Flex API 2.4中,类是核心组成部分,它们定义了各种功能和对象,如地图对象、图层管理、标记、事件处理等。以下是一些关键的类及其作用: 1. Map类:这是API的基础,用于创建和管理地图实例。你可以通过...
在Flex中,我们可以使用AS3代码来动态修改显示对象的注册点。例如,DisplayObject类提供了`regX`和`regY`属性,分别用于设置对象的水平和垂直注册点。通过改变这两个属性的值,可以将对象的注册点移动到任何位置。 ...
Flex是一种基于ActionScript和...通过以上知识点的学习和实践,你将能够创建出功能强大、交互性强的Flex动态仪表盘。在实际项目中,还需要考虑兼容性、响应式设计等问题,以确保应用在不同设备和浏览器上的良好表现。
在Flex4中,`DataGrid`的列可以通过动态创建来适应变化的数据结构,这在处理不确定列数或列类型的应用场景中非常有用。 在描述中提到,数据可能是数组类型,列名和列个数都是动态的。这意味着在运行时,我们需要...
在Flex中,`MenuBar`类是用于创建顶部水平菜单的组件,它提供了类似于传统桌面应用程序的下拉菜单功能。在Flex项目中,我们通常会将`MenuBar`放置在应用程序的最上方,以提供各种操作选项。 创建`MenuBar`的第一步...
在Flex开发中,"flex动态添加资源"是一个重要的优化策略,它允许开发者在运行时根据需要动态加载资源,而不是在构建SWF文件时一次性将所有资源嵌入其中。这种技术对于大型应用程序尤其有用,因为它可以显著减小SWF...
### Flex中ActionScript动态调用RemoteObject类 在Flex中,使用ActionScript动态调用RemoteObject类是一种常见的实现客户端与服务器端交互的方式。通过这种方式,开发者可以在客户端灵活地调用服务器端的服务,并...
Flex是Adobe公司开发的一种开源框架,主要用于构建富互联网应用程序(RIA)。它基于ActionScript和MXML,提供了丰富...通过这些技术的组合,开发者可以创建出动态、交互性强的可视化应用,用于展示实时变化的数据趋势。
`ArrayCollection`是Flex中用来存储数据的一种集合类,它支持绑定和数据变化通知机制。 ##### 2. 创建和显示树节点 ```as private function createAndShow():void { subNodes.addItem({label:"ŦԼ"}); subNodes....
这是Flex实现动态界面的重要机制。 5. **ActionScript深入**:除了基本的变量、函数、类之外,ActionScript还包括错误处理、事件处理、类的继承、接口实现等内容。熟练掌握ActionScript能提升编程能力。 6. **Flex...
在Flex中实现动态仪表盘,主要是通过ActionScript,这是一种面向对象的脚本语言,与JavaScript类似,但更强大,支持类和对象。ActionScript是Flex的核心,它负责处理应用程序的逻辑,包括数据的获取、处理和展示。 ...
Flex是一种开源的、基于ActionScript的框架,用于创建具有动态用户界面的RIA。它主要用在Adobe Flash Player或Adobe AIR运行时环境中,提供丰富的图形和交互体验。而BlazeDS是Adobe提供的一个开源服务器端技术,它为...
本文将深入探讨如何在 Flex 中动态加载 Image 和 Icon,这对于创建响应式和灵活的应用程序至关重要。动态加载资源可以显著提高应用程序的性能,减少启动时间和内存消耗。 在 Flex 中,我们可以使用 `Loader` 类来...