flex类的深复制(扩展)
1:假如你要深复制一个类A
public class A
{
public var vo:B
}
你首先要做的是注册类,例如:
public static function registerClass():void
{
//把子类注册
PackUtil.registerClass(B);
}
//接下来就是克隆:
var cloneA:A=clone(A);
cloneA就是我们想要的对象了。
//****************克隆的实现方法***********************//
//克隆一个vo对象
public static function clone(o:Object):Object
{
var qClassName:String = getQualifiedClassName(o);
var objectType:Class = getDefinitionByName(qClassName) as Class;
registerClassAlias(qClassName, objectType);
var copier : ByteArray = new ByteArray();
copier.writeObject(o);
copier.position = 0;
return copier.readObject();
}
//向amf注册类,以便反转的时候能找到该类
public static function registerClass(classObj:Object):void
{
var qClassName:String = getQualifiedClassName(classObj);
var objectType:Class = getDefinitionByName(qClassName) as Class;
registerClassAlias(qClassName, objectType);
}
相关文档:
<?xml version="1.0" encoding="utf-8"?>
<!-- Simple example to demonstrate the DateTimeAxis class. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
import mx.collections.ArrayCollection;
......
一、C++服务器端
(用的是Visual Studio 2008(05,03的应该也可以,VC++的可能需要稍微改动))
代码如下:
#include <winsock2.h>
#include <stdio.h>
#include <windows.h>
#include <iostream>
using namespace std;
#pragma comment(lib,"ws2_32.lib")
void main(){ ......
Flex 4带给我们的,是全新的命名空间。了解这些命名空间必定是一件好事情。Flex 4有三个非常重要的命名空间,分别是:
xmlns:fx=”http://ns.adobe.com/mxml/2009″
xmlns:mx=”library://ns.adobe.com/flex/halo”
xmlns:s=”library://ns.adobe.com/flex/spark”
1、xmlns:fx=&rdqu ......
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" fontSize="12" creationComplete="init()">
<mx:Script>
<!--[CDATA[
import mx.utils.*;
import flash.net.*;
......
在用flex做Web应用时为了扩展应用程序功能,势必会更多的同浏览器进行交互,这样就会用到下面介绍的知识
1、在Flex中实现URL 跳转(使用flash.net.navigateToURL()方法如:)
/*
* param1: 要跳转的URL
* param2: 跳转方式 _blank /_self
*/
navigateToURL(new URLR ......