我看过像 this 这样的问题, this , this和 this ,但这些似乎都没有描述我的问题?
我声明这些变量:
<fx:Script>
<![CDATA[
import assets.Page;
public var oneTwo:Page = new Page("...");
public var oneThree:Page = new Page("...");
protected var oneFour:Page = new Page("...");
protected var oneFive:Page = new Page("...");
protected var oneSix:Page = new Page("...");
... 正在引用确实存在的对象,并且 Flex 可以使用每个项目的构造函数。接下来,我尝试设置这些对象的其他属性:
oneThree.next = oneFour;
oneThree.prev = oneTwo;
oneFour.next = oneFive;
oneFour.prev = oneThree;
oneFive.next = oneSix;
oneFive.prev = oneFour;
等等。现在,当我单击其中的每一个时,Flex 会突出显示每个实例中的变量,并在编码期间将它们全部识别为有效。但编译给出:
-1120: Access of undefined property oneThree.
-1120: Access of undefined property oneFour.
-1120: Access of undefined property oneFour.
-1120: Access of undefined property oneFive.
依此类推,每次使用每个变量时使用一次(此处的情况为十二次)。您可以看到我将一些公开和一些 protected ,这似乎没有什么区别。
最佳答案
[This][1] 问题使我找到了解决方案。
第二个代码块中的变量需要在它们自己的函数中进行编辑,得到:
<fx:Script>
<![CDATA[
import assets.Page;
public var oneTwo:Page = new Page("...");
public var oneThree:Page = new Page("...");
protected var oneFour:Page = new Page("...");
protected var oneFive:Page = new Page("...");
protected var oneSix:Page = new Page("...");
oneThree.next = oneFour;
oneThree.prev = oneTwo;
oneFour.next = oneFive;
oneFour.prev = oneThree;
oneFive.next = oneSix;
oneFive.prev = oneFour;
]]>
</fx:Script>
而不是这个:
<fx:Script>
<![CDATA[
import assets.Page;
public var oneTwo:Page = new Page("...");
public var oneThree:Page = new Page("...");
protected var oneFour:Page = new Page("...");
protected var oneFive:Page = new Page("...");
protected var oneSix:Page = new Page("...");
protected function _init():void
{
oneThree.next = oneFour;
oneThree.prev = oneTwo;
oneFour.next = oneFive;
oneFour.prev = oneThree;
oneFive.next = oneSix;
oneFive.prev = oneFour;
}
]]>
</fx:Script>
这为我解决了错误。希望这对其他人有帮助!
关于actionscript-3 - 1120 : Access of undefined property [instantiated variable]?(灵活),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10997421/