В этой Технической заметке описаны выявленные неполадки компилятора Flex 2, из-за которых при компиляции приложения Flex могут появляться ошибки.

  • 175465: Следующая ошибка среды выполнения возникает из-за того, что в системе не создается отчет об ошибке, связанной с наличием защищенного метода установки вбазовомклассе, имя которого совпадает с именем переменной защищенного элемента в производном классе: VerifyError: Error #1107. Данные ABC повреждены, попытка чтения за пределами поля.
  • 174533: Неэкранированный элемент \n в файле свойств пакета ресурсов является причиной ошибок, ссылающихся на созданный код: Сообщение: «Синтаксическая ошибка: необходимо устранить строковый литерал перед разрывом строки».
  • 175233: Если файл свойств пакета ресурсов зашифрован в форматеюникода, в компиляторе возникают ложные сообщения об ошибке, например: Синтаксическая ошибка: конец ввода, не достигнута закрывающая кавычка для литерала строки
    Все строки в файлах свойств должны бы зашифрованы в формате Latin-1 или UTF-8.
  • 170249: Предупреждения или ошибки компиляции не появляются для несовпадающих объектов в исходном и целевом местоположении тегаmx:Binding, в результате чего возникает ошибка среды выполнения.
  • 172353: Ошибка среды выполнения возникает,если объектLocale.getCurrent(Application.application.systemManager).country
    используется для получения данных о стране в приложении, в котором объект -locale не был передан в качестве параметра компилятора, например:
    TypeError: Ошибка #1009: нет доступа к свойству или методу ссылки на нулевой объект.
  • 169682: Если при отладке объект контура for является отдельной строкой, для всего контура осуществляется пошаговое выполнение.
  • 171214: Классы для реализации интерфейса не требуются компилятором для сопоставления значений по умолчанию в собственных методах и методах интерфейса.
  • 174646: Если класс содержит функции доступа с разными атрибутами пространства имен для контроля доступа (например,защищенныйметод установки и общедоступный метод чтения), использование одного из них приводит к ошибке времени компиляции, например,Ошибка компилятора1000: Неопределенная ссылка на myVar
    Обходное решение состоит в том, чтобы во избежание несоответствия переименовать функцию метода чтения или установки.
  • 175271: Словарь неправильно обрабатывает объект MethodClosures, в результате чего в нем могут появиться две записи, функция которых совпадает с функцией ключа. В качестве обходного пути можно объявить переменную и назначить ее функции-замыканию и использовать эту переменную в дальнейшем.
  • 175264: При компиляции приложения, характеризующего класс, который создает предупреждение компилятора, это же предупреждение появляется даже после удаления ссылки на проблемный класс. После выполнения чистой сборки предупреждение компилятора больше не появится.
  • 171221: Компиляторmxmlсоздает трассировку стека, если в кодеmxmlсодержится выражение ActionScript с синтаксической ошибкой. Например:

    <?xmlversion="1.0" encoding="iso-8859-1"?> <mx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml" > <mx:TextInput id="ti" text="{String(new Date()}"/> </mx:Application>
  • 172876: При использовании имени переменной, уже использующегося базовым классом модели приложения Flex или классом интерфейса Flash API (например, DisplayObject), в компиляторе появляются зашифрованные ошибки. Например:
    Доступ к вероятно неопределенному свойству x посредством ссылки со статическим типом String. Доступ к вероятно неопределенному свойству y посредством ссылки со статическим типом String. Доступ к вероятно неопределенному тексту свойства посредством ссылки на статический тип flash.display.:DisplayObject
  • 174788: При пошаговой компиляции появляется сообщение об ошибке после обновления файла свойств пакета ресурсов, например: Не удается распознать класс для объекта ResourceBundle: TestResources_properties
    Чтобы устранить ошибку, очистите проект в приложении Flex Builder.

Дополнительная информация

Дополнительная информация об ошибках и предупреждениях компилятора приведена в документации:

Эта работа лицензируется в соответствии с лицензией Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported  На посты, размещаемые в Twitter™ и Facebook, условия Creative Commons не распространяются.

Правовые уведомления   |   Политика конфиденциальности в сети Интернет