您的位置:首页 > 其它

解决Flex Library Project中有时候不允许AS脚本文件单独存在的问题

2010-11-26 10:40 176 查看
解决Flex Library Project中有时候不允许AS脚本文件单独存在的问题

问题描述:

有些时候,Flex Library Project的Source Folder(Path)中AS脚本文件包含于Build Path中时,执行编译就会错误,内容如下:

“private 属性只能用于类属性定义” 或者 “public 属性只能在包的内部使用”



但是,有些AS脚本文件安全无事,不会被编辑器认为是“罪犯”,这让那些被编译器认为“有罪”的AS脚本文件很是无辜,Flex工程师就更郁闷了,有时候只好将AS脚本copy到对应的mxml文件中,可是我们想要的MVC模式也就无法实现了,大家都知道AS脚本和MXML中的标签混杂在一起,可没什么好处:可读性、重用性、可扩展性都很差,耦合性过高,使得业务逻辑的层次不够清晰等等这些问题都会凸显。

不知道Flex为何会出现这样的诡异问题呢?我想,这种现象应该可以算作是Flex的一个bug了吧!

解决办法:

右键项目->Properties->Flex Library Build Path->Classes->取消报错的AS脚本文件选中状态->OK

然后重新 Build Project,成功!AS脚本的功能可以完整的打入SWC包中。

原理分析:

1、首先,分析在Flex Project中的编译原理,所有在Source Folder(Path)中的文件,无论是mxml、as类、as脚本,SDK都会对其进行编译,如果出现语法或其他编译器认为是错误的,就会终止编译。但是是可以正确的将as脚本与相关联的mxml一起编译的,这样就不会报错。

2、在Flex Library Project中,按照编译器默认编译顺序规则进行编译时,如果先编译到as脚本文件时,而并不知道与其相关联的mxml文件的存在,就会认为这个as脚本文件不能单独编译成一个可实例化为对象的class,就会报错。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐