2010-10-06 3 views
0

Имейте довольно странную проблему, когда Flex выдает ошибку, когда приложение работает в фоновом режиме. Я использую Selenium и SeleniumFlexApi для запуска различных тестов против моего приложения. Если окно браузера находится на переднем плане, или любая его часть видна на экране, тест проходит, как ожидалось. Однако, если окно находится в фоновом режиме и не видно, я получаю следующую ошибку в одной части моего приложения.Ошибка Flex при удалении дочернего объекта

ArgumentError: Ошибка # 2025: поставляемый объект DisplayObject должен быть дочерним элементом вызывающего.

У меня есть VBOX, который создает несколько дочерних элементов, а затем при созданииComplete (или UpdateComplete, я пробовал оба), тогда ему необходимо удалить любой из дочерних элементов, которые не видны. У каждого ребенка есть слушатель для CreationComplete, который проверяет, является ли ребенок видимым, а если нет, добавляет его в массив, который повторяется при запуске родительского UpdateComplete. Кажется, я не могу найти причину такого поведения, и мне любопытно, есть ли проблема с Flex Component LifeCycle.

ответ

1

Последняя версия Flash Player (10.1) автоматически «замедляет» при минимизации. Я думаю, что он падает до пары кадров в минуту [в отличие от стандартных 24 в секунду для Flex]. Я не знаю конкретного номера. Это касается производительности и времени автономной работы.

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

Я слышал от других людей, что у этого есть другие люди, у которых были проблемы с этим. Лучшее решение, которое я слышал, это «Добавить флаг, чтобы отключить его, даже если он находится только в проигрывателе debug». Но сейчас нет решения, кроме «запускать ваши тесты без приложения»

+0

+1, я думал о том же, но не мог сформулировать его так же хорошо, как вы. –

Смежные вопросы