![]() |
Flasm выдает ошибку при ассемблировании
Постановка задачи:
код на флеш рекурсивно обрабатывает все узлы xml-документа и по определенным правилам производит изменения в файле. нужно снять ограничение на рекурсию и время выполнения скрипта. Проблема: При использовании Flasm 1.62 получаем файл .flm, в котором убираем ограничения и ассемблируем обратно в .swf. Однако при ассемблировании выдается ошибка: SWC ^ Line 0001 of file.swf: syntax error Я бы поверил что проблема в синтаксических ошибках, если бы не одно но. Не внося в файл никаких изменений, а просто попробовав его дизасемблировать и собрать обратно я получаю точно такую же ошибку. То есть Flasm не может собрать и тот файл, который сам же и создал. Подскажите пожалуйста, с чем это может быть связано? настройки, параметры публикации, установленные плееры, фазы луны? я уже не знаю что попробовать :wacko: |
Версия плеера под которую компилировался SWF, было ли использовано сжатие при компиляции. А вообще, время выполнения скрипта легче просто выставить в настройках публикации во флеше. Глубина рекурсии... 256 вложеных узлов в ХМЛе? зачем так много? Ну, и в конце концов, опять же просто решается в флеше, просто по достижении максимальной глубины вызываем функцию setTimeout'oм...
|
Компилировать пробовал под девятую, восьмую, седьмую версию плееров,
сжатие использовалось и неиспользовалось (то есть попробовал вроде бы все варианты, щас еще раз все перепробую). код публиковался при помощи flash 8 и flash cs3. Время выполнения может быть и проще выставить просто так, спорить не буду, а вот с рекурсией - 256 мало. 256 - это не вложенных друг в друга узлов, а узлов вообще! (обход начинается с первого тэга и рекурсия заканчивается по достижении последнего). Про setTimeout можно поподробнее? то есть имеешь ввиду, что нужно просто считать кол-во вызовов и потом на 255-ом вызывать ее же по таймеру? |
ну, да, считать количество вызовов.... а почему нельзя все дочерние узлы за 1 такт обработать? так вызовов гораздо меньше будет...
Подожди... а зачем ты SWF собираешь? Тебе ж FLM надо собирать?.. |
нельзя потому что структура xml-файла заранее неизвестна. то есть приложение может получить абсолютно любой xml-файл с любой структурой. Если бы была известна структура, мне бы и в голову не пришло применять рекурсию.
по поводу собираешь... процесс ведь такой, как я его понимаю :) 1 - flasm file.swf 2 - редактируем полученный файл file.flm 3 - собираем обратно с изменениями: flasm -a flasm.flm |
написал только что ответ и понял, что я [вырезано цензурой][вырезано цензурой][вырезано цензурой]...
я ведь действительно пытался сделать flasm -a file.swf!!! какой день без выходных работаю по 12 часов, так что похоже уже не в себе ))) |
спасибо за помощь, реально пока не написал руками процедуру того, что делаю, так и не воткнул что делаю идиотизм
|
| Часовой пояс GMT +4, время: 22:25. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.