![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2008
Сообщений: 35
|
Здравствуйте.
В моем проекте требуется загружать много файлов, я делаю это с помощью класса Loader. Я сделал 2 режима загрузки: последовательный и параллельный. При последовательной загрузке, решил я, не нужно много загрузчиков, можно после загрузки каждого файла помещать его в специальный массив, и загружать следующий файл тем же загрузчиком, что и попытался сделать. Добавление загруженных данных в массив выглядит следующим образом: отмечу, что не использую функцию push, а записываю данные в ячейку по номеру потому, что при параллельной загрузке файлы могут перепутаться, если, например, 2-й будет меньшего размера, чем 1-й. В массив, соответственно, добавляется не само содержимое, а ссылка на объект LoaderInfo загрузчика, т.к., кроме картинок я загружаю еще и другую флешку, из которой затем извлекаю классы через applicationDomain. И тут я столкнулся с закономерной проблемой: поскольку в массиве хранится именно ссылка, а не сам объект, при загрузке нового файла, к старому обратиться уже не получится. Подскажите, можно ли как-нибудь скопировать LoaderInfo загрузчика, чтобы при загрузке следующего файла сохраненная ссылка оставалась действительной? Пробовал полное копирование объекта в виде или даже не помогло, при загрузке флешки выдается ошибка пробовал также использовать статический метод LoaderInfo.getLoaderInfoByDefinition, однако и это не дало результатов. Попытка сделать так: contents[ev.target.loader.number] = LoaderInfo.getLoaderInfoByDefinition(ev.target.content); ReferenceError: Error #1065: Переменная MainLoader не определена. at flash.system::ApplicationDomain/getDefinition() Есть, конечно, простой вариант - использовать много загрузчиков для множества файлов и при последовательной загрузке, но он кажется мне неправильным, ведь в каждый момент времени всё= будет использоваться только 1. |
![]() |
Часовой пояс GMT +4, время: 18:47. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|