AS3编译器说直接通过XML对象访问属性是错误的。这是遗留(AS2)代码还是应该可以在AS3编译器中正常工作?我被告知在AS3中支持E4X,允许直接访问属性。
我正在使用Windows 7上的FlashDevelop 4,Flex 4.5.1和AIR 3.0进行编译。我已设置-swf-version=13
并且我正在以“严格模式”进行编译。代码来自一个成熟的AS3库,应该编译。我做错了什么?
var node:XML;
var n:String = node.@name; // Access of possibly undefined property "name" through .. XML
编辑:这是不运行时错误,表示我无法访问属性,因为该变量为null,其编译时错误< / strong>,并阻止项目的编译。它的AS3编译器拒绝在XML对象中编译直接属性访问。
答案 0 :(得分:0)
但是此代码中的node
未定义/ null!你应该得到«无法访问空对象引用的属性或方法»错误!
如果您初始化node
,那么......您是否尝试过清理项目并再次构建它? (有时候它确实有帮助)
答案 1 :(得分:0)
在变量声明中,对象的默认值为null,即Sprite,XML,Array,Vector等。 并且您无法访问null对象的任何属性。