
25.04.2004, 00:11
|
|
|
don't panic!
Регистрация: 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 - это размер пустого клипа созданного не-программно.
вот такие мелочи создают ОХРЕНИТЕЛЬНЫЕ баги. сам видел. :))
|