Flex 数据易犯错误: 常见误用和错误
丢失静默错误(SILENT ERROR)
在某些情形下,绑定操作似乎不能正常工作,此时你可能非常懊恼并且不知道如何进行处理。
由绑定表达式抛出的、或在绑定框架调用的绑定函数中出现的异常和错误可以被静默捕获。因此,你将不会看到运行时异常,而这在 Flash Player 的调试版本中是能够看到的。这时,不仅绑定操作不能工作,而且系统不会显示错误。
为什么错误被静默捕获?
在绑定操作发生之前,实现绑定机制的代码要求满足若干条件。绑定机制将吞没所有错误以便阻止在运行时过程中抛出运行时异常。这是一种很好的机制,因为你不希望在你的应用程序中看到这些(可能的)意外错误。
请查看下面简单绑定范例:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
minWidth="1024" minHeight="768"
preinitialize="handlePreinitialize()">
<fx:Script>
<![CDATA[
[Bindable]
private var xml:XML =
<users>
<user>
<name>EladElrom</name>
<address>1 Wall Street</address>
</user>
</users>;
protected function handlePreinitialize():void
{
xml = null;
//BindingManager.debugBinding("label.text");
}
]]>
</fx:Script>
<s:Label id="label" text="{xml.user.name}"/>
</s:Application>
我已经添加一个与Label组件绑定的xml变量。上面代码本可以支持执行。然而,我在组件的预初始化期间已经将该xml变量设置为null。在组件初始化序列开始时系统会下发该事件,这样该xml对象将没有name 属性。如果你运行该应用程序,你将会发现绑定操作不能执行并且错误将被系统静默捕获。
调试绑定
尽管系统可以静默地捕获错误,但你仍然可以通过某些手段了解应用程序的运行过程。 利用 BindingManager.as 和 Binding.as 代码进行调试不是轻而易举的事,因为你需要下载整
相关文档:
eclipse一个项目中同时开发flex和j2ee的环境配置
因为工作需要,学了一周flex今天开始研究与服务器通信,选择了免费的BlazeDS。由于之前做项目用的是eclipse europa,就把flex builder 3 plugin直接安装到原有的eclipse上了,这样再配置的时候客户端编程用的flex和服务器端的J2EE就能整合到一个工程下了,希望对于暂时由js ......
flashbuilder中可以建立flex工程与actionscript工程.
flex工程内可以使用mxml是完成设计工作.
actionscript工程建立时默认只有:
playerglobal.swc
flex.swc
utilities.sec
playerglobal.swc
这几个类库.没有framework.swc,就无法使用Button等控件了.
解决方案是 actionscript工程中加入framework.swc.
路径是 x:/A ......
Flex里面,DataGrid的column的width属性不接受百分比,只接受一个具体的像素值,所以,如果想按照比例来设置列宽需要费些周折。Google了一下,有两种方法可以做到: 第一种方法,不要设置width为百分比,而设置为一个小数,所有列的小数值的和必须为1。 <mx:DataGrid width="100%" height="100%" ......
Learning Flex in a week – Day1
Flex,Flash,Flash
Player,AIR概述
了
解Flex Builder
Flex
Builder工作空间
了
解Flex预编译组件
了
解MXML
组
件的数据绑定
处
理用户事件
了
解事件对象
使
用ActionScript添加事件侦听器
使
用HttpService获取数据 ......
传统的在Flex工程中添加Module的方法是:在FlashBuilder中右键工程目录->Porperties->Flex Modules, 然后就可以add/edit/remove需要的module了,
但问题 是无论添加多少module都要点击add按钮一个一个添加! 像我们的项目一个demo就用了好几十个module,一个一个添加可要烦死了
网上搜‘批量添加module&rsquo ......