AS3编译器说直接通过XML对象访问属性是错误的。这是遗留(AS2)代码还是应该与AS3编译器一起工作?我听说AS3支持E4X,它允许直接访问属性。
我正在编译FlashDevelop 4, Flex 4.5.1和AIR 3.0在Windows 7上。我有-swf-version=13
集,我在"严格模式"下编译。代码来自一个成熟的AS3库,绝对可以编译。我做错了什么?
var node:XML;
var n:String = node.@name; // Access of possibly undefined property "name" through .. XML
编辑:这是不是一个运行时错误,它说我不能访问一个属性,因为变量是空的,这是一个编译时错误,并防止项目的编译。AS3编译器不允许在XML对象中编译直接的属性访问
但是您的node
在此代码中未定义/null!您应该得到«无法访问空对象引用的属性或方法»错误!如果初始化了node
,那么…您是否尝试过清理项目并重新构建它?(有时候真的很有用)
在变量声明时,对象的默认值为null,即Sprite, XML, Array, Vector等。你不能访问null对象的任何属性