技术分享 Flex4兼容模式如何移植到发布版本

开发 后端
本文向大家介绍一下Flex4兼容模式移植到发布版本的问题,在以前的兼容模式下,默认的主题spark能使用Halo主题的组件属性,但在完全的Flex4编译模式下不能使用。

本文和大家重点讨论一下Flex4兼容模式移植到发布版本的问题

Flex4兼容模式移植到发布版本的问题

1.Flex4发布版本spark.swc默认不能使用兼容模式,编译报错。

2.在以前的兼容模式下,默认的主题spark能使用Halo主题的组件属性,但在完全的Flex4编译模式下不能使用。

(1)去掉组件中spake主题不存在的属性,使用skinclass属性,并编辑皮肤组件替代(但对于旧有的项目,显然代价太大)
(2)改变项目默认的Spark主题,以前大多数的Halo主题属性都能使用,不过像:<ns:canvaspaddingTop=""padding***="">就不能使用了,不过没关系,一般在canvas组件中包含其它的框架组件就能解决。(工程量大大的减小了)
(3)如果是以后新建的组件***使用Spark组件构成,理论上设计与逻辑结构更为自由,不过得努力学习一下skin组件的使用方法了~(这对Developer来说,有点难过)

3.Flex4发布版的构建路径中默认使用“运行时RSL方式”,但程序运行时报错“ClassSparkSkin不能找到……”(头晕>_<!!!)***使用“合并到代码中”先解决问题,日后再解//TODO

4.附加编译参数:-keep-all-type-selectors=true(这个是好东西,一直不清楚如何使用,得好好看看这方面的!!!)
不带这个参数时,运行程序可能报无法找到×××组件外观Error。烦死了开始时侯,一大堆组件外观不见了。

5.无法解析的空对象……>_<!!!

在兼容模式下好好的程序放到Flex4下竟然出现一大堆莫名其妙的nullObject问题。原因可能是编译机制的改变,使得运行时代码执行顺序发生改变而引起的(注意:只是可能,猜想!)

(1)状态引起的空对象问题

有时候在父组件中使用到includein=“state”itemcreation=“imitation”
子组件使用了creationcomplete=“init()”
init()方法使用时机不好,子组件还没创建好就执行了init()方法,暂时这样解决:
父组件:includein=“state”itemcreation=“imitation”creationcomplete=“init()”(就是把子组件需要创建好后执行的方法放到带状态的父组件执行)

(2)Swc域引起的空对象问题

不明白Swc域的可以搜搜Applicationdomain我也解析不好。反正如果划分了模块的话就有能一起这样的问题。由于每个编译的swc文件运行时都有自己的一个域,主应用程序域和Module域,(主应用程序域中理论上应该创建好Module所需的数据,让Module在需要的时候取得,但有时候Module就是拿不到,引起空对象)这时候只好在主应用程序中显式声明“傀儡类”>_<!!!//TODO

6.组件状态显示异常

又是Flex4—Release问题,当发现组件指定的状态显示不正确时,尝试把组件的那个状态放在<mx:states>声明的***个位置,看看是不是正常了。(由状态引起的问题确实令人抓狂>_<!!!)

7.组件状态不显示

假如6中的方法仍然没有解决好问题,尝试把状态控制的去掉,使用属性Visible=“isshow?true:false”控制,尤其建议使用在父组件和子组件都带有状态控制时,修改子组件的状态控制。

8.绑定不是***的…………

当发现组件绑定的数据没有问题,而组件却问题大大时,手动代码绑定试试!(简直雷倒众生>_<!)

余下的是spike问题

【编辑推荐】

  1. 解析Flex4的十大变化
  2. Flex4Beta引入新元素功能更强大
  3. Flex3到Flex4的转变新特性值得关注
  4. FlexBuilder3.0与Eclipse3.4的***结合
  5. 从Flex3到Flex4的转变一览

 

责任编辑:佚名 来源: xuezhitong.cn
相关推荐

2010-08-12 15:10:17

Flex4

2009-07-16 14:09:24

Flex3到Flex4

2010-07-27 09:37:44

Flex

2010-08-10 09:25:42

Flex4

2010-08-06 10:56:11

Flex4MyEclipse

2010-08-13 09:05:09

Flex4Halo

2010-08-02 11:09:45

Flex4

2010-08-11 12:50:04

Flex4

2010-07-28 12:41:18

Flex组件

2010-08-12 14:31:42

Flex4

2010-08-10 09:08:29

HTMLTemplatFlex4

2010-08-13 14:45:58

Flex4布局

2009-07-29 09:40:02

Flex 4

2010-07-27 10:03:57

Flex4

2010-08-12 14:51:40

Flex4

2010-08-11 11:10:08

Flex4打印功能

2010-08-02 11:26:21

Flex4

2010-08-13 10:30:30

Flex4

2010-08-12 14:58:12

Flex4

2010-08-12 09:56:44

Flex内存优化
点赞
收藏

51CTO技术栈公众号