1120: ¿Acceso de propiedad indefinida [variable instanciada]? (Flexionar)

He mirado preguntas como este, este, este y este, pero ninguno de estos parece describir mi problema?

Estoy declarando estas variables:

<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("...");

... están haciendo referencia a objetos que existen, y Flex está de acuerdo con los constructores de cada uno de estos elementos. A continuación, trato de establecer otras propiedades de estos objetos:

        oneThree.next = oneFour;
        oneThree.prev = oneTwo;
        oneFour.next = oneFive;
        oneFour.prev = oneThree;
        oneFive.next = oneSix;
        oneFive.prev = oneFour;

etc. Ahora, cuando hago clic en cada uno de estos, Flex resalta la variable en cada instancia y los reconoce a todos como válidos durante la codificación. Pero la compilación da:

-1120: Access of undefined property oneThree.
-1120: Access of undefined property oneFour.
-1120: Access of undefined property oneFour.
-1120: Access of undefined property oneFive.

y así sucesivamente, uno por cada vez que se usa cada variable (es decir, doce veces en el caso aquí). Puede ver que hice algunos públicos y otros protegidos, esto no parece hacer una diferencia.

preguntado el 12 de junio de 12 a las 14:06

1 Respuestas

[Esta] [1] pregunta me llevó a la solución.

Las variables en el segundo bloque de código deben editarse dentro de su propia función, obteniendo:

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

en lugar de esto:

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

que se encargó de los errores para mí. ¡¡Espero que esto ayude a alguien más!!

Respondido el 12 de junio de 12 a las 14:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.