![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: May 2008
Сообщений: 25
|
Постановка задачи:
код на флеш рекурсивно обрабатывает все узлы xml-документа и по определенным правилам производит изменения в файле. нужно снять ограничение на рекурсию и время выполнения скрипта. Проблема: При использовании Flasm 1.62 получаем файл .flm, в котором убираем ограничения и ассемблируем обратно в .swf. Однако при ассемблировании выдается ошибка: SWC ^ Line 0001 of file.swf: syntax error Я бы поверил что проблема в синтаксических ошибках, если бы не одно но. Не внося в файл никаких изменений, а просто попробовав его дизасемблировать и собрать обратно я получаю точно такую же ошибку. То есть Flasm не может собрать и тот файл, который сам же и создал. Подскажите пожалуйста, с чем это может быть связано? настройки, параметры публикации, установленные плееры, фазы луны? я уже не знаю что попробовать ![]() |
|
|||||
|
Modus ponens
|
Версия плеера под которую компилировался SWF, было ли использовано сжатие при компиляции. А вообще, время выполнения скрипта легче просто выставить в настройках публикации во флеше. Глубина рекурсии... 256 вложеных узлов в ХМЛе? зачем так много? Ну, и в конце концов, опять же просто решается в флеше, просто по достижении максимальной глубины вызываем функцию setTimeout'oм...
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: May 2008
Сообщений: 25
|
Компилировать пробовал под девятую, восьмую, седьмую версию плееров,
сжатие использовалось и неиспользовалось (то есть попробовал вроде бы все варианты, щас еще раз все перепробую). код публиковался при помощи flash 8 и flash cs3. Время выполнения может быть и проще выставить просто так, спорить не буду, а вот с рекурсией - 256 мало. 256 - это не вложенных друг в друга узлов, а узлов вообще! (обход начинается с первого тэга и рекурсия заканчивается по достижении последнего). Про setTimeout можно поподробнее? то есть имеешь ввиду, что нужно просто считать кол-во вызовов и потом на 255-ом вызывать ее же по таймеру? |
|
|||||
|
Modus ponens
|
ну, да, считать количество вызовов.... а почему нельзя все дочерние узлы за 1 такт обработать? так вызовов гораздо меньше будет...
Подожди... а зачем ты SWF собираешь? Тебе ж FLM надо собирать?..
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 12.07.2008 в 19:22. |
|
|||||
|
Регистрация: May 2008
Сообщений: 25
|
нельзя потому что структура xml-файла заранее неизвестна. то есть приложение может получить абсолютно любой xml-файл с любой структурой. Если бы была известна структура, мне бы и в голову не пришло применять рекурсию.
по поводу собираешь... процесс ведь такой, как я его понимаю ![]() 1 - flasm file.swf 2 - редактируем полученный файл file.flm 3 - собираем обратно с изменениями: flasm -a flasm.flm |
|
|||||
|
Регистрация: May 2008
Сообщений: 25
|
написал только что ответ и понял, что я [вырезано цензурой][вырезано цензурой][вырезано цензурой]...
я ведь действительно пытался сделать flasm -a file.swf!!! какой день без выходных работаю по 12 часов, так что похоже уже не в себе ))) |
|
|||||
|
Регистрация: May 2008
Сообщений: 25
|
спасибо за помощь, реально пока не написал руками процедуру того, что делаю, так и не воткнул что делаю идиотизм
|
![]() |
![]() |
Часовой пояс GMT +4, время: 01:31. |
|
|
« Предыдущая тема | Следующая тема » |
|
|