也谈Flex组件的生命周期
引子:作于一名由ASP.NET开发转到Flex开发的程序员,最开始适应的过程是相当愉悦和轻松的。由于我早在ASP.NET中习惯了标签式的布局和对应的code behind的编程方式,在Flex中的MXML语言只不过是MXML元素和AS3语法的重新熟悉。但是就像ASP.NET中的标记语言,MXML只不过是AS3的一种封装,归根到底它会被转化成AS3再进行编译,所以,只有了解这门语言的底层运行机制,才有可能真正成为一名优秀的Flex开发人员。由于有过ASP.NET的开发经验,我清楚地认识到像这种以XML标签为基础的组件式的开发方式,只有弄清楚组件的生命周期,才能进行高级开发,才能在遇到复杂情况时有思路去解决,就像做ASP.NET的开发要熟悉页面的生命周期一样。
为此,我刚接触Flex不久就开始研究Flex组件的生命周期。幸运的是,Flex Builder内嵌的帮助文件十分犀利,很容易就查到了Flex组件的的生命周期部分。不幸的是作为没有Flash开发经验的程序员,对里面的某些名词并不是很明白。就这样在没有Flash基础的情况下,我曾经看过很多遍帮助文件,但感觉脑子里一直不是很清楚,对整个生命周期不能形成一个完整的轮廓。最后终于滤清了一些思路,结果还是停在了一个名词上,叫做“Render Event”。里面两次提到了这个词,都是在关键的地方。前些天搞到了《Essential.ActionScript.3.0》的电子版,阅之如醍醐灌顶,不愧为AS3的经典。其中一章就专门讲了Flash运行时的屏幕更新机制,里面当然也提到了Flex帮助文件中所谓的“Render Event”。
先看看Flex帮助文件是怎么说的吧,这里拷贝了原文(可以先略过,只为提供参考):
You call the component’s constructor, as the following code shows:
// Create a Button control.
var b:Button = new Button()
You configure the component by setting its properties, as the following code shows:
// Configure the button control.
b.label = "Submit";
Component setter methods might call the invalidateProperties(), invalidateSize(), or invalidateDisplayList() methods.
You call the addChild() method to add the component to its parent, as the following code shows:
// Add the Button control to the Box container.
boxContainer.addChild(b);
Flex performs the following actions:
Sets the parent property for the component to reference its parent container.
Comput
相关文档:
Adobe Flex开发与传统的Web开发有很多不同之处。正确的理解和利用这些不同之处,可以帮助我们创建更丰富的用户体验,也可以反过来增加网站的可用性以及浏览和更新速度。Flex还提供了大量的组件和技术库来让Web开发更加轻松——它提供的强大工具要远远超过传统Web 2.0中的异步JavaScript和XML(Ajax)应用。此外, ......
经常会设计一个这样的功能,比如更改个性头像,这个个性头像最终需要上传到服务器的文件系统中,但是程序希望在用户选择后直接有个预览,然后用户才进行上传。这个功能技术上其实就是需要对本地的文件能进行读取。在flash player10中有个类FileReference的类可以实现这个功能,而实现对文件读取的接口是load( )函数,要注意 ......
《Flex SDK 4(Gumbo)浅析ASDoc - Flash Builder 4配置篇》介绍了如何在Flash Builder 4里面配置、运行ASDoc。
本篇文章介绍一些比较常用的ASDoc Tags,只有搞清楚了如何使用ASDoc Tags才能让我们生成一些我们想要的ASDoc文档。
我在这里只列举了一些比较常用的ASDoc Tags:
@param paramName d ......
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 ......