Flash TypeError: Ошибка № 1009: невозможно получить доступ к свойству или методу пустой ссылки на объект. - при доступе к TLFTextField из класса документа

Я заблудился на этом. Я получаю TypeError: Error #1009: Cannot access a property or method of a null object reference. выводить сообщение в первый раз, когда мой Класс документов пытается получить доступ к простому текстовому полю на сцене (добавлено из IDE, а не actionscript)

package  {

import flash.display.*;
import fl.text.*;
import flash.text.*;
import flash.events.*;
import flash.net.*;

public class Main extends MovieClip {

    private var _netConnection:NetConnection;
    private var _responder:Responder;
    /* some other public + private vars */

    public function Main() {
        init();
    }

    public function init(e:*=null):void {
        _netConnection = new NetConnection();
        _responder = new Responder(uponResult);

        txt.text = "init()";
    }
    /* more functions */
  }
}

Я пытался добавить txt.addEventListener(Event.ENTER_FRAME, init); если txt TLFTextField не было... там... в начале, но он все равно выдает ошибку.

Я чувствую себя немного идиотом, какой прогноз? JB

1 ответ

Решение

TLFTextFields - странные существа, у меня было много проблем с ними в последнее время.

Я бы попытался использовать событие Event.ADDED_TO_STAGE, потому что TLFTextFields должны быть на сцене, когда вы пытаетесь получить к ним доступ:

public function Main() {
  addEventListener(Event.ADDED_TO_STAGE, init);
};
public function init(e:Event):void {
  removeEventListener(Event.ADDED_TO_STAGE, init);
  txt.text = "init()";
};

Это должно работать, если ваш TLFTextField находится на первом кадре на главной временной шкале.

Дай мне знать, если этот волшебник

обкрадывать

Другие вопросы по тегам