как использовать компонент mxml в другом actionscript

#apache-flex #flex3 #flex4 #flexbuilder

#apache-flex #flex3 #flex4 #flexbuilder

Вопрос:

как использовать компонент mxml в другом коде actionscript компонента mxml

например, в моем основном файле mxml

 private var warningMessage:Warning;//this is variable

if (!_controller.flashVars.chatSession || _controller.flashVars.chatSession == "")
            {

                warningMessage.includeInLayout = true;
                warningMessage.visible = true;
            }
            else
            {
                _controller.flashVars.showWarningMessage = "2";
            }
  

private var warningMessage:Warning; (предупреждение относится к внешнему пользовательскому компоненту)

warningMessage.visible=true (и я хочу использовать его таким образом в моем коде actionscript

но я получаю сообщение об ошибке « Type was not found or was not compile time constant:warning «)

Ответ №1:

Есть три вещи, которые сразу бросаются в глаза.

  1. Если этот компонент находится в другом SWC-файле, обязательно укажите ссылку на него в настройках проекта
  2. Импортируйте пространство имен или вызовите его напрямую (com.whatever.namespace.Предупреждение)
  3. Обязательно вызовите new для создания нового объекта. В приведенном выше коде warningMessage равно null.

private var warningMessage:Warning = new Warning();

Комментарии:

1. 1. Кроме того, «4. Не пишите код в разделе MXML Script без функции — он выполняется так, как если бы он был в конструкторе класса, что слишком рано для манипулирования элементами управления — они еще не созданы».

Ответ №2:

Убедитесь, что вы импортировали свой пользовательский компонент в файл, в котором вы его используете.

Ответ №3:

Вам нужно будет ссылаться на другой пользовательский компонент как на пространство имен mxml.

Ознакомьтесь со следующей статьей, чтобы получить точную иллюстрацию:http://www.roseindia.net/flex/custom-mxml-tags.shtml