PDA

Просмотр полной версии : Диалог аплоада роняет Мозиллу. По-разному.


Фасовщица Петрова
01.06.2006, 18:17
В общем есть некий класс Аплоада, который используя FileReferenceList получает список файлов и аплоадит их куда надо. Все делается стандартно, как в примере в хэлпе - там навешивается листенер с соответсвующими функциями, после аплоада или провала всех по списку файлов листенер с них удаляется, сам список убивается.
Выяснил - роняние происходит исключительно в Фаерфоксе. Притом роняние двух типов и в двух взаимозаменяющихся ситуациях.
Ситуация номер 1: Класс выполнил задачу - загрузив Н файлов на сервер. В нем есть метод destroy() - в котором удаляются все листенеры с элементов FileReferenceList (с FileReference) ну и с самого FileReferenceList. Если при этом удалять и сам листенер и сам экземпляр FileReferenceList - происходит упадание флеша. Если этого не делать, ну попросту чистить листенеры, а использовать все те же обьекты listener и FileReferenceList - то после нескольких использований аплоада и открытий диалога - в какой-то момент при ОК или CANCEL в диалоге браузер упадает. Все это имеет место в фаерфоксе (1.5) флешплеер 8.0.24.
Очень нужны мудрые советы!

Фасовщица Петрова
02.06.2006, 17:48
Копия с флешМЭха:
И поскольку друзья мои вы не удосужились спасти положение своим мудрым советом мне пришлось сделать вот что:
В нете я нашел некий пост касаемо того, что вторичный апоад роняет браузер. Т.е. часть ответственности, что мол у меня кривой код? я с себя снял. Учитывая, что механизм аплоада работает асбтаргированно хорошо, а в проекте ужасно, пришлось пойти на дикое шаманство:
Сделал отдельную флешку с экземпляром того самого класса. Написал API для нее и модуля в проекте. Расположил дополнительно эту самую флешку в слое. Законнектил их через Локалконнекшен так, чтобы акт upload брала на себя именно маленькая, свеженька, девственная флешка. Вот. Пока кажется все работает неплохо.

Фасовщица Петрова
02.06.2006, 20:11
Ну что же! Можно заливать теплую ванну и запасаться бритвами. Можно открывать газ. Другие болезненные способы я не приемлю.

Акция не помогла. Удивительно, но флеш ролик с аплоадом роняет другой флеш ролик в браузере. Сам остается свежим и невредимым. Это фантастика. Проблема наверняка в использовании памяти, а падает в фаерфоксе оттого, что он проверяет память. Я не могу взять в ум как аплоад, где бы он ни был роняет ролик в браузере. Притом конкретный!!!

Буньков Максим
02.06.2006, 23:15
Редкая трабла и я еще фикса у макромеди не видел, подобное происходит на мас компах.

Фасовщица Петрова
05.06.2006, 17:43
Путем метода дедукции установленно что без кода загрузки ХМЛ - ничего не падает.

Фасовщица Петрова
06.06.2006, 15:41
Путем дополнительных изысканий выясненно, что если до аплода хоть раз воспользоваться гетУрлом, то падение с раза 4-ого 5-ого в мозилле гарантируется. Если после первой сессии аплоада воспользоваться гетУрлом, то сколько потом не аплоадь - баг не обнаруживается. Кажется они там память не делят..

Usnul
06.06.2006, 15:57
фасовщица, стукни в асю вечерком, мне кажется что там твоих рук творение.