0

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

编辑:不是运行时错误,它表示我无法访问属性,因为变量为空,它是编译时错误,并阻止了项目的编译。它的 AS3 编译器拒绝允许编译 XML 对象内的直接属性访问。

4

2 回答 2

0

在变量声明中,对象的默认值为 null,即 Sprite、XML、Array、Vector 等。您无法访问 null 对象的任何属性。

于 2013-04-22T10:36:44.513 回答
0

但是你node在这段代码中是未定义的/空的!您应该得到«无法访问空对象引用的属性或方法»错误!如果您已初始化node,那么...您是否尝试过清理项目并重新构建它?(有时真的很有帮助)

于 2013-04-22T05:44:45.853 回答