Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   зависает flash при быстром наборе в textarea (http://www.flasher.ru/forum/showthread.php?t=151661)

Lexxx_HU 03.03.2011 18:42

зависает flash при быстром наборе в textarea
 
столкнулся вот с какой проблемой, при быстром наборе сообщение в textarea подвисает флеш, браузер или отдельно запущенный flash - не отвечает, а в консоль через 15 секунд вываливается

Error: Error #1502: Сценарий выполнялся дольше периода ожидания, установленного по умолчанию на 15 секунд.
at mx.managers.layoutClasses::PriorityQueue/removeSmallest()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\managers\layoutClasses\PriorityQueue.as:238]
at mx.managers::LayoutManager/validateDisplayList()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:673]
at mx.managers::LayoutManager/doPhasedInstantiation()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:736]
at mx.managers::LayoutManager/doPhasedInstantiationCallback()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:1072]

как решить проблему ? никто не сталкивался ?
P.S. было замечено в Mozille, Google Ghrome, ie8. то есть от браузера данная ошибка не зависит, проблемы надо искать где то дальше...

TWETTI 03.03.2011 19:10

Вы быстро вводите текст на клавиатуре или программно?

Lexxx_HU 03.03.2011 19:19

на клавиатуре

textarea создаю динамически
Код AS3:

// добавляем textarea для сообщений
                var textarea_message:TextArea = new TextArea;
                textarea_message.x = cur_x;
                textarea_message.y = cur_y+135;
                textarea_message.width = 188;
                textarea_message.height = 52;
                textarea_message.name = 'my_textarea';
                canvas_main.addChild(textarea_message);


alatar 03.03.2011 19:38

Какой из TextArea используете? mx или spark?
Есть ли объективные причины использовать SDK 4.0, когда давно уже есть 4.1?

Lexxx_HU 03.03.2011 19:55

если бы использовал спарковский то было бы написано new mx.controls.TextArea()

а насчет sdk 4.1, как по дефолту создавался проект так он и есть, думаете если изменить это поможет ? и встречный вопрос если я сменю sdk на 4.1 не повлияет ли эту на работу всего приложения ? проект очень большой

alatar 03.03.2011 20:19

Цитата:

если бы использовал спарковский то было бы написано new mx.controls.TextArea()
А расшифровать вашу реплику можете?
Цитата:

думаете если изменить это поможет ?
Если таки используетет mx, то скорее всего нет. Для TextArea вся разница в 4.1 — небольшие изменения в UITextField, касающиеся позиционирования и матрицы трансформации.
Цитата:

и встречный вопрос если я сменю sdk на 4.1 не повлияет ли эту на работу всего приложения ?
Если не меняли классы самого фреймворка, то вряд ли. Это ж не с третьего не четвертый мигрировать.

Добавлено через 1 минуту
P.S. Воспроизвести ваш глюк не получилось.

Добавлено через 7 минут
P.P.S. Кстати какой объект у вас в этот момент обрабатывался в LayoutManager и PriorityQueue?

etc 03.03.2011 20:29

Судя по LayoutManager в стеке, проблема происходит из-за того, что поле где-то в контейнере лежит.

zorexundra 04.03.2011 11:14

Цитата:

Сообщение от alatar (Сообщение 977810)
Какой из TextArea используете? mx или spark?
Есть ли объективные причины использовать SDK 4.0, когда давно уже есть 4.1?

ИМХО, компоненты SDK 3.5 - фабрикат, а компоненты SDK 4.0 - полуфабрикат.
SDK 4.1 фабрикат, или полуфабрикат? Много-ли кода надо писать самому?

Lexxx_HU 04.03.2011 12:33

Цитата:

Сообщение от etc (Сообщение 977830)
Судя по LayoutManager в стеке, проблема происходит из-за того, что поле где-то в контейнере лежит.

поле находится в Canvas
Код AS3:

canvas_main.addChild(textarea_message);

сам канвас закреплен за одним из state - ов
Код AS3:

<mx:Canvas id="canvas_main"         includeIn="StateShowTable">                
</mx:Canvas>

Добавлено через 3 минуты
Цитата:

Сообщение от alatar (Сообщение 977826)
P.P.S. Кстати какой объект у вас в этот момент обрабатывался в LayoutManager и PriorityQueue?

не совсем понял вопроса
там на канвасе textarea и запущен таймер, который отсчитывает секунды. может как то с ним связано ? хотя еще раз повторюсь, глюк возникает когда БЫСТРО печатать

zorexundra 04.03.2011 12:49

Lexxx_HU, может-ли такое быть, что Ваш код постоянно добовляет один и тотже TextArea?


Часовой пояс GMT +4, время: 11:20.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.