Flex creationComplete () не выполняется для определенных машин - PullRequest
0 голосов
/ 26 июля 2011

У меня в файле s: Application есть creationComplete = "myMethod (event)", и он отлично работает на моих машинах для разработки 3 flex (Flash Builder 4).Однако он не работает на машинах 2-х конечных пользователей, на которых я его пробовал сегодня!

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

На моих машинах я тестировал его под IE 8 и 9, FireFox и Chrome - на всех 3 машинах.

На этих двух машинах есть проблема как в IE 7, так и в IE 8. Я даже установил FireFox new, и у него тоже есть проблема.После установки последней версии флэш-плеера и удаления всей истории браузера и файлов cookie все еще возникает проблема.

Что может привести к неработоспособности creationComplete?

Обновление: я пытался использовать initialize () и нетРазница.

Однако я полагаю, что обнаружил строку кода, вызывающую проблему:

var isDebug:Boolean = new Error().getStackTrace().search(/:[0-9]+\]$/m) > -1;

Если я это прокомментирую, все будет работать нормально.Зачем?Мне нужно знать, работает ли мое приложение в режиме разработки / отладки или на компьютере конечного пользователя.

Ответы [ 2 ]

0 голосов
/ 28 июля 2011

Похоже (я не проверял это сам), что вы не можете получить stackTrace об ошибке в режиме без отладки?

Это моё предположение из вашего описания проблемы.Если это так, вы можете просто проверить, если getStackTrace ()! = Null.

EDIT: подтверждено, getStackTrace () возвращает null в неотладочной среде

0 голосов
/ 26 июля 2011

Может быть, эта строка выдает исключение (это было бы забавно, не правда ли?), Которое вы не можете поймать в режиме без отладки ...

Вы пробовали это:

import flash.system.Capabilities;

[...]

var isDebug:Boolean = Capabilities.isDebugger;
...