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

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

成都创新互联公司长期为上千多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为正蓝企业提供专业的成都网站设计、成都网站制作,正蓝网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。

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

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

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

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

3.Flex4发布版的构建路径中默认使用“运行时RSL方式”,但程序运行时报错“ClassSparkSkin不能找到……”(头晕>_

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就是拿不到,引起空对象)这时候只好在主应用程序中显式声明“傀儡类”>_

6.组件状态显示异常

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

7.组件状态不显示

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

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

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

余下的是spike问题

分享文章:技术分享Flex4兼容模式如何移植到发布版本
文章分享:http://www.shufengxianlan.com/qtweb/news35/407985.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联