Несоответствия режима отладки Flex. Почему?

У меня есть эта очень странная проблема в большом гибком приложении, где оно будет нормально работать с отладочным swf, если у пользователя установлена ​​отладочная вспышка, но будут некоторые различия для людей со стандартной версией вспышки.

Эти диспропорции включают в себя:

  • Нет всплывающих окон

  • потерять все захваты событий

  • Странное расположение кнопки

Я где-то читал, что updatedisplaylist обрабатывался по-разному? А пока я попробую экспортировать релиз вместо bin-debug swf и вернуться к коммитам, чтобы увидеть, что стало поворотным моментом.

Есть ли подобный опыт?


person coulix    schedule 03.06.2009    source источник


Ответы (1)


Я использую Flex в течение длительного времени и никогда не слышал о каких-либо проблемах, подобных этим, связанных с использованием отладочной и стандартной версий проигрывателя Flash, но я сталкивался с проблемами, подобными тем, с которыми вы столкнулись.

Когда в вашем приложении возникает исключение, например, при попытке доступа к чему-либо в нулевом классе или при попытке доступа к элементу 10 в массиве, который имеет только 9, проигрыватель отладки выводит всплывающее окно с сообщением о том, что произошло исключение, и предоставляет вам стек trace, даже если вы не отлаживаете приложение активно. В стандартном плеере этого нет, поэтому у пользователя не будет возможности узнать, что что-то пошло не так.

По моему опыту, после возникновения неперехваченного исключения весь работающий код с этого момента может стать очень нестабильным, вызывая все проблемы, которые вы перечисляете, и многое другое.

Я сомневаюсь, что ваша проблема имеет какое-либо отношение к двум разным проигрывателям, помимо стандартного, которые не дают вам никаких отзывов о состоянии вашего приложения.

person Matt Guest    schedule 04.06.2009
comment
Это означает, что в обычном плеере возникает ошибка, которой нет в отладочном. Это будет трудно отследить! - person coulix; 04.06.2009
comment
Комментарий Мэтта относится к деньгам. Я никогда не видел никакой разницы в поведении между отладочным и выпускным плеером одной и той же версии, за исключением того, что диалоговое окно трассировки стека не отображается, а в выпускных сборках после необработанных исключений все, кажется, перестает работать правильно. Почти наверняка либо где-то в вашем коде возникает необработанное исключение, либо ваш SWF нацелен на более новую версию проигрывателя, чем та, которая установлена ​​на компьютере пользователя. - person Christian Nunciato; 04.06.2009
comment
Исправлено, это была новая трассировка, использующая трассировку стека для получения номера строки вызова! Спасибо ! - person coulix; 04.06.2009