Проблемы времени выполнения после перехода с Flex3 на 4 в режиме совместимости
Мы переносим наше приложение Flex-3.2 на Flex 4.1, главным образом, чтобы воспользоваться новыми возможностями текстового потока/движка. На первом этапе мы решили пойти с компиляцией для только MX и в режиме совместимости Flex-3.
Благодаря некоторым полезным ресурсам (
http://www.adobe.com/devnet/flex/articles/flexbuilder3_to_flashbuilder4.html
Любой опыт миграции Flex 4?
http://www.adobe.com/devnet/flex/articles/flex3and4_differences_02.html
) Я могу скомпилировать наше приложение.
Но я удивляюсь количеству разностей во время выполнения, начиная с проблемы, из-за которой я не могу применить ResultEvent.currentTarget к HTTPService (который, по-видимому, был введен в 3.5), во многие проблемы с макетами к различиям в диспетчеризации событий (например, одно из наших наследий компоненты прослушивают событие добавления, которое, по-видимому, больше не отображается).
Похоже, что на этом очень мало документации. Я бы хотел найти список с подробными изменениями, чтобы нам не пришлось полагаться на QA, чтобы наткнуться на все возможные проблемы.
В этих документах перечислены некоторые параметры, но не кажется исчерпывающим.
Есть ли у кого-то лучший список документированных изменений?
Спасибо
Стефан
PS. Список конкретных примеров, которые я нашел до сих пор:
1) В Flex 4 событие добавления не запускается:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:mx="library://ns.adobe.com/flex/mx" layout="absolute" minWidth="955" minHeight="600">
<fx:Script>
<![CDATA[
private function notFired():void
{
trace("ADDED");
}
private function fired():void
{
trace("COMPLETE");
}
]]>
</fx:Script>
<mx:TextArea add="notFired();" creationComplete="fired();"/>
</mx:Application>
Теперь сделайте то же самое в Flex 3, и вы увидите, как оба события срабатывают.
По-видимому, это ошибка. Возможно, можно обойти это, но, безусловно, значительно уменьшит мой уровень или доверие.
2) Диалоги/всплывающие окна отображают весь контент, зеркальный.
Ошибка также. Легко работать, но как может быть что-то такое очевидное скольжение?
3) Проблемы с введенными символами "Ôª".
Посмотреть сообщение здесь.
Ответы
Ответ 1
Посмотрите на некоторые из ваших сомнений...
1) add никогда не было надежным событием с момента выпуска flash-плеера 9. Это обычная ошибка. Попробуйте создать мувиклип из списка отображения и добавить в него ребенка, в котором есть слушатель Event.ADDED. В некоторых ситуациях (точно не знаю, в какой ситуации) он не работает (Adobe Fail). Но вместо этого, "добавить" Flex-событие, используйте "добавленный" или "добавленный", как только вы захотите обнаружить, отображается ли он в списке приложений.
2) Сбой. Проверьте исходный код менеджера компоновки структуры.
3) Я никогда не видел этого. (Даже в режиме совместимости). Можете ли вы показать пример? Вы проверяли, является ли кодировка приложения той же, что вы используете в своих строках? Возможно, строка строк может вызвать некоторую путаницу из-за кодировки символов (или, может быть, вашего редактора). Попробуйте другие редакторы и проверьте содержимое файла кода на оболочке Linux с помощью SED. С помощью find и sed вы можете легко его исправить.