Показать сообщение отдельно
Старый 25.04.2004, 00:11
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 6  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
я не тестил код. предупреждаю :)

то что вижу сразу:

плохо 1:
onData для рута срабатывает как минимум один раз по-любому. у тебя она срабатывает два раза. угадай почему :)

плохо 2:
нельзя называть файл, в котором всего лишь хранятся переменные расширением .php: в твоем случае это еще недограбли, но вообще, ты не сможешь определить getBytesTotal у файла, если у него исполняемое расширение, даже если хранятся в нём всего лишь текстовые переменные

хехех... где-то я уже это (l && t && l>=t) видел :))

только с тех пор всё несколько извменилось.
стоит обновить концепцию.

в семёрке появилась одна замечательная особенность (даже если публиковать под шестёрку) - при загрузке файлов размер getBytesTotal ИНОГДА бывает равно -1 до того как началась загрузка. в шестёрке -1 возвращалось исключительно тогда, когда файл не найден.

так что конструкция l && t в семёрке будет работать как бог на душу положит (потому как отрицательные числа тоже преобразуются в true)

и еще одна особенность - начальный размер файла может быть не равен нулю. если вы не анлоадите клип перед тем как грузить в него что-то новое, или если вы создали контейнер для загрузки вручную (помним, что пустой клип созданный не-программно имеет размер 4 байта, а не ноль, как хочется думать.)

итого:
— либо строго анлоадить клип перед тем как вызывать лоад,

— либо создавать контейнер для загрузки программно, и проверять (l>0 && t>0 && l>=t)

— либо просто проверять (l>4 && t>4 && l>=t), где 4 - это размер пустого клипа созданного не-программно.

вот такие мелочи создают ОХРЕНИТЕЛЬНЫЕ баги. сам видел. :))