【问题标题】:1120: Access of undefined property [instantiated variable]? (Flex)1120:访问未定义的属性[实例化变量]? (柔性)
【发布时间】:2012-06-15 09:07:35
【问题描述】:

我查看了诸如thisthisthisthis 之类的问题,但这些问题似乎都不能描述我的问题?

我声明这些变量:

<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.

以此类推,每次使用每个变量时使用一次(此处的情况为十二次)。您可以看到我将一些公开和一些保护,这似乎没有什么区别。

【问题讨论】:

    标签: actionscript-3 apache-flex compiler-errors flex4.5 undefined-reference


    【解决方案1】:

    [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>
    

    这为我解决了错误。希望这对其他人有帮助!

    【讨论】:

      猜你喜欢
      • 2012-04-08
      • 2015-07-12
      • 2012-06-05
      • 1970-01-01
      • 2014-06-29
      • 2010-12-16
      • 1970-01-01
      • 2015-01-13
      • 1970-01-01
      相关资源
      最近更新 更多