![]() |
|
||||||||||
|
|
|
|||||
|
Достаточно крупный проект, собираю через FlexSDK, кода порядка 21 тысячи строчек.
Ран-тайм либы не использую, точнее не знаю что это такое, быть может использую =) Много разных классов, эвентов, интерфейсов, графику подключаю через swc через FD, все классы создаю через new, когда надо зануляю ссылки и отписываюсь от всех событий. Какая проблема - часто лезут весёлые артефакты, например, пытаясь установить какой либо текст текстовому полю - исчезает текст начисто. Но если использовать replaceText - тогда всё хорошо. Более того, через 10-12 компиляций присваивая текст - работает на ура. Сейчас например такой артефакт - обычный getChildByName работал на "ура", прикрутил к проекту silin`овский GC - в 10 фп работает отлично. В 9 фп getChildByName уже НЕ находит того самого мувиклипа. Дело в GC? Нет, убрал его совсем, даже из импорта - баг имеет место быть. Сам вопрос - эти артефакты лезут из за моей криворукости, или же у фп при большом проекте это имеет место быть, и если так - как с этим бороться? Исходники не выложу. Проект коммерческий и врятли кому то будет интересно копаться в полмегабайте кода, к тому же смысловой нагрузки без swc`шек он мало несёт, а их я распространять права не имею =\
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Регистрация: Feb 2009
Сообщений: 1,195
|
Не знаю насчёт конкретно вашего проекта, но вообще в любом большом проекте на любой платформе ближе к завершению часто вылезает довольно много сложных ошибок - таких, которые совсем непонятно откуда взялись и в какой момент начали проявляться. Как правило, это результат ошибок проектирования (не предусмотрено что-нибудь), ошибок тестирования (что-то не было проверено, потому что казалось, что совершенно точно будет работать) и просто глупых ошибок, сделанных по невнимательности (= вместо ==, =+ вместо += и т.п.), каким-либо образом прошедших незамеченными через начальные тесты.
Иногда можно найти ошибку, просто внимательно прочитав весь код. Не пробежав глазами ("я и так знаю, что и как тут работает"), а именно прочитав. В чужом коде при этом ошибки найти проще, чем в своём. |
|
|||||
|
Это то понятно. Немного строчек кода прям из проекта:
timerField.replaceText(0, 4, Math.floor(tl / 60) + ":" + sl); //в душе не ### откуда такие баги //что равно не работает. А так работает. ппц... //timerField.text = Math.floor(tl / 60) + ":" + sl; Может я реально чего не понимаю - в комментированной строчке найдите ошибку и скажите, почему replaceText работает, а text= нет. Добавлено через 8 минут Есть кстати предположение такое, насчет фп, ни на чём не основанное - может быть девятка тупо "не выдерживает" нагрузок, что от неё требуют и сливается, а 10-ка посильнее будет, и держит удар?
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Последнее время я совсем не понимаю, где ты серьезно говоришь, а где шутишь.
Что есть "нетеленка" (хотя бы как она пишется по английски, чтобы загуглить), и как изменить этот подход? Добавлено через 27 часов 0 минут Попробовал 3.0.0 - полезли баги подобного плана. Попробовал самую свежую 4-ую - другие баги, тоже похожие. У всех сдк вышеописанные проблемы с текстовыми полями проявляются на разных полях. dimarik, про нетленку ты говорил серьезно? Можешь рассказать подробнее?
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
А перед каждой компиляцией делать Project -> Clean... делать не пробовали?
__________________
blog.diestro.ru |
|
|||||
|
А как это сделать в FD?
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Если речь про FD то ничего подсказать не могу. Во Flex Builder достаточно часто приходится делать Project -> Clean... чтобы быть уверенным что конечная флешка будет содержать все последние изменения.
__________________
blog.diestro.ru |
![]() |
![]() |
Часовой пояс GMT +4, время: 13:59. |
|
|
« Предыдущая тема | Следующая тема » |
|
|