![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2006
Сообщений: 43
|
Здраствуйте. Подскажите пожалуйста в чём проблема?
уже несколько дней пытаюсь решить. RangeError: Error #2006: The supplied index is out of bounds. at flash.text::TextField/getLineLength() at org.softservice.webVideo.v2.common.visual.smiles::SmilesTextField/getNumberOfVisibleChars()[..................................\SmilesTextField.as:297] at org.softservice.webVideo.v2.common.visual.smiles::SmilesTextField/onScroll()[...................................\SmilesTextField.as:90] at flash.text::StyleSheet/_update() at flash.text::StyleSheet/setStyle() at org.softservice.webVideo.v2.common.visual.smiles::SmilesTextField2/setMyStyle()[..............................\SmilesTextField2.as:153] at performer_code/changeFontTypeHandler()[Z:\webvideo-chat-devel\11_11_08\Classes\performer_code.as:1200] at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at org.softservice.webVideo.v2.common.visual.alerts::AlertManager/onFontAlertOK2()[...............................\AlertManager.as:871] at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at terbooter.UIComponent.navigators::SettingsTabNavigator/onOkButton()[..........................\SettingsTabNavigator.as:226] at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at terbooter.UIComponent::UIButton/onClick()[...............\UIButton.as:141] код места ошибки private function getNumberOfVisibleChars (dt:TextField):Number { var totalChars:Number = 0; for (var i:Number=dt.scrollV-1; i<=dt.bottomScrollV-1; i++) { trace("debug TX " + totalChars + " " + dt.getLineLength(i) + " " + i) totalChars += dt.getLineLength(i); } return totalChars; } по трейсу до ошибки вот что: debug TX 0 92 33 debug TX 92 58 34 debug TX 150 78 35 debug TX 228 74 36 debug TX 302 52 37 debug TX 354 82 38 debug TX 436 72 39 debug TX 508 92 40 debug TX 600 58 41 debug TX 658 78 42 debug TX 736 74 43 debug TX 810 52 44 debug TX 862 82 45 debug TX 944 72 46 debug TX 1016 92 47 debug TX 1108 58 48 debug TX 1166 78 49 debug TX 1244 74 50 debug TX 1318 52 51 debug TX 1370 82 52 debug TX 1452 72 53 debug TX 1524 92 54 debug TX 1616 58 55 пробовал и через try { } catch (e:Error) {} тогда просто эксплорер вырубается не выводя ошибку плеера на экран Стоит Flash 9.0 r124 Debug Не могу понять.. Возможно ли переполнение буфера? Out of bound далеко от максимального Number а также далеко от int которое возвращает public function getLineLength(lineIndex:int):int; Помогите пожалуйста Последний раз редактировалось iNils; 25.12.2008 в 13:38. |
|
|||||
|
Out of Bounds - значит, что Вы ушли за пределы "допустимого".
Скажем, линии номер 200 может просто не существовать - вот плеер и вываливается.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Регистрация: Oct 2006
Сообщений: 43
|
Это я понимаю. И поетому пробовал юзать TRY CATCH. Да по трейсу выведет тоже самое. но в итоге флешка срубается даже в дебаг версии и закрывается проект.
не могу придумать чтобы динамически определялось есть ли там строчка.. и поидеи должна быть потомучто наличие количества строй вычисляется по скроллу. Добавлено через 2 минуты тоесть вот dt.scrollV dt.bottomScrollV и в итоге как я понимаю иногда получается так что значение i полученое данным методом направляет нас в строку которой нету.. Поидееже должны быть правельные значения. |
|
|||||
|
Кстати да, старайтесь использовать везде, где только возможно int вместо Number, для так называемого "разгона" кода.
__________________
Оптимизация производительности на уровне кода |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
int не даёт никаких преимуществ перед Number.
|
|
|||||
|
стервочка (я мужик)
|
__etc ... ээээ .... ты уверен?
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Уверен. Сходу:
При таком количестве итераций можно сходу считать, что никакой разницы. Последний раз редактировалось etc; 26.12.2008 в 00:57. |
|
|||||
|
стервочка (я мужик)
|
а замени на ++
|
|
|||||
|
был же топик где проводились тесты. и было видно что инт побыстрее будет чем намбер. но это конечно при большом количестве итераций. Но при колистве итераций до наверное миллиона разницы особой, согласен, нет.
Но мне кажется, код не пострадает, если там где нужны только целочисленные использовать инт или безнаковое целое, а где с плавающей там намбер. Это думаю может определенно в какой то степени повысить скорость работы крупных проектов. Ну и просто путаницы меньше. вот нашел эту тему http://www.flasher.ru/forum/showthre...=115456&page=2 Последний раз редактировалось ramshteks; 26.12.2008 в 04:27. |
![]() |
![]() |
Часовой пояс GMT +4, время: 18:25. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|