Flex 4 SDK 新特性教程系列 – 新增MXML标签
本章是Flex 4 SDK 新特性教程系列的第4章。本章介绍了MXML 2009新增的标签,包括:
Declarations
Vector
Library
Definition
Private
Reparent
<Declarations />
Declarations标签是Flex 4中最常用的新增标签。
在Flex 3中,对于一个MXML组件的直接子元素,可以有以下几种情况:
1. 属性标签,例如:
<mx:Label xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:text>
<mx:String>test</mx:String>
</mx:text>
</mx:Label>
2. 作为默认属性的值,例如:
List的默认属性为DataProvider
<mx:List xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:ArrayCollection>
....
</mx:ArrayCollection>
</mx:List>
3. 作为容器的Children:
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Button />
<mx:Label />
</mx:Canvas>
4. 声明并创建非可视化对象:
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:HTTPService id="sevice" />
</mx:Canvas>
在Flex 4中,对于MXML组件的直接子元素有着更加规范的定义,即:所有直接子元素或者是组件的属性标签,或者是作为组件默认属性的值而存在。而容器的默认属性即为其Children的集合(例如Group的默认属性为mxmlContent,DataGroup的默认属性为dataProvider)。
而对于最后一种情况,在Flex 4中,在MXML中创建非可视化对象,如HTTPService, Effect, 基本数据类型等等,必需通过<Declarations/>标签来完成。例如声明一个HTTPService对象:
<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library:ns.adobe.com/flex/spark" >
<fx:Declarations>
<s:HTTPService id="service" />
</fx:Declarations>
</s:Group>
上面的代码等价于ActionScript:
public MyGroup extends Group {
private var service:HTTPService = new HTTPService();
}
值得注意的是,Declarations标签也可以用来声明、创建任何可视化组件,但是使用该标签创建的组件不会被加入到DisplayList中,也不会被初始化。你可以在需要的时候再使用它。
<Vector />
Vector是Flash Player 10中新增加的数据类型(结构),大多数情况下
相关文档:
最近遇到了flex 的安全沙箱问题,找了很多资料发现不是都是和我,我的程序需要socket连接,而大多数讲的都是跨域文件读取的。我先把两种方法都总结出来:
跨域文件读取
方法一:在目标服务器上布署crossdomain.xml文件(我用的此方法很管用,放上就没问题了) 需要远程服务根目录定义有crossdomain.xml文件,如下:
<?x ......
Flex 和C++ 之间传输结构体数据
一直想试验用结构体传数据
但是Flex 和C++ 的类型所占的字节数有时不一样
如int 在C++中站2个字节,而在Flex中占4个字节。
转换比较麻烦。
最后决定用XML进行传输
然后两边都加一个XML 解析和封装类。
C++ 端使用的tinyXML 类
Flex直接使用自己带的 E4X 类
Flex代码如下
&nb ......
http://www.cnblogs.com/beniao/archive/2009/01/12/1373921.html
无法运行如上博客的代码,于是自己到网上找资料
发现在http://hi.baidu.com/littlelaa/blog/item/bdea73f2382289a6a50f5241.html
关键是C#中READLINE这个方法无法在三秒内读取,因为结尾没有/N /R等字符。
C#端
using System;
using System.Net.Socke ......
这是Flex 4 SDK 新特性教程系列的第3章。本章介绍了Flex 4引入的MXML 2009命名空间以及Flex组件与命名空间映射的机制。
Flex 3的命名空间
Flex 3定义了唯一的MXML命名空间,即MXML 2006。在Flex Builder 3中声明MXML 2006命名空间的默认格式如下:
xmlns:mx="http://www.adobe.com/2006/mxml"
值得注意的是,很多初学者 ......