0

thisthisthis、および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.

など、各変数が使用されるたびに 1 回 (この場合は 12 回)。一部を公開し、一部を保護したことがわかりますが、違いはないようです。

4

1 に答える 1

0

[これ][1]の質問が私を解決策に導きました。

2番目のコードブロックの変数は、独自の関数内で編集する必要があり、次のようになります。

<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-06-12T13:36:25.440 に答える