![]() |
XML + dataGrid
в кадре только dataGrid
написан такой код: Код AS1/AS2:
Добавлено через 1 минуту извиняюсь, тему не в ту ветку написала |
Вам нужно загружать файлы либо разными лоадерами (объектами XML), либо одним, но по принципу эстафеты: загрузка следующего файла не стартует, пока не закончится загрузка предыдущего, о чем сигнализирует событие onLoad().
Загрузка файла во флеше асинхронная. Потому в вашем коде цикл выполняется мгновенно. Соответственно, срабатывает onLoad() для последнего файла. Можете попробовать грузить файл методом mdm.FileSystem.loadFile() . Он должен синхронно работать. Т.е. возвратит вам просто строку-содержание файла, сразу, без всяких onLoad(). Ее и отдадите XML(). |
список вывела, уже хорошо!только еще одна проблема - вместо русских букв - квадратики.
xml-файлики создаю с помощью того же цинка mdm.FileSystem.saveFileUnicode(mdm.Application.path+"\\zakaz\\"+_global.numz+".xml", str); то есть сохраняю в utf-8 (покрайней мере так написано в хелпе в цинку) значит проблема в чтении??ее можно как-то обойти или исправить? |
Хм. Помнится, здесь кто-то успешно пользовался mdm.FileSystem.saveFileUnicode(), была тема на эту "тему"... попробуйте поискать.
Да вот: http://www.flasher.ru/forum/showthread.php?t=118517 http://www.flasher.ru/forum/showthre...=117341&page=2 Проверьте все еще раз. Посмотрите на форуме mdm. Если не работает - значит баг. |
использовала функцию mdm.FileSystem.saveFileUnicode(), получилось еще веселее...
у меня есть набор xml-файликов размером ~1 - 5 килобайт. так вот эта функция выборочно читает некоторые файлы, а для некоторых выдает ошибку при компиляции "Byffer overrun detected! A buffer overrun has been detected which has corrupted the programs internal state. The programm cannot safely continue execution and must now be terminated." как я понимаю, переполняется буфер, причем при загрузке различных файлов, некоторые по 5 Кб загрузились нормально только не совсем понятно, буфер переполняется при загрузке файла или при выполнении парсинга? Мой код Код AS1/AS2:
|
Что значит "для некоторых выдает ошибку при компиляции"? При какой такой компиляции? Во флеше, в цинке? Или эта ошибка вылезает во время исполнения вашей программы все-таки? Как вы ее увидели?
Попытался воспроизвести как мог вашу проблему: (Flash 8, Zinc 2.5.0.34, AS2, Windows XP SP3) Код:
save.onRelease = function()Валидный ли xml вы формируете и потом грузите? |
Вложений: 1
1. В цинке запускаю "Build project", стоит галочка - запустить проект по завершении, проект запускается и вылазит данная ошибка
2. если ставлю другой файлик из имеющихся на загрузку, то все работает как надо и правильно подгружает инфу на русском все файлы создаются одинаково командой mdm.FileSystem.saveFileUnicode, единственное различие в количестве дочерних узлов (структура:корневой узел <win></win> и дочерние <OBJ></OBJ>). Вобщем загрузила исходник и два xml-файла. Файл 3289.xml у меня подгружается и все красиво выводится на русском, а при загрузке 89.xml вылазит ошибка. Попробуйте проверить программу, если есть время, может сможете понять в чем проблема? |
Ок. Посмотрел ваш исходник.
1. Если запускать как есть - ничего не выводит в DataGrid. 2. Если добавить в первый кадр Код:
var myDP:Array = new Array();выводит две идентичные по содержанию строчки, да, с русскими буквами все хорошо. Как при загрузке 89.xml, так и при загрузке 3289.xml. 3.Назанчение кода во втором кадре не понял. Т.е. оба файла у меня грузятся, никаких ошибок не вылазит. Все нормально. Повторю конфигурацию: Flash 8, Zinc 2.5.0.34, AS2, Windows XP SP3 (32 bit). Вот все что могу сказать. Я больше склоняюсь к мысли о баге самого цинка. И дело совсем не в файлах xml. Посмотрите вот эту информацию http://www.flasher.ru/forum/showthre...=104606&page=2 В качестве эксперимента попробуйте грузить так: Код:
var dt:String = mdm.FileSystem.loadFileUnicode("zakaz\\3289.xml"); |
я тоже склоняюсь к версии о баге цинка, спасибо за помощь!!
|
| Часовой пояс GMT +4, время: 05:50. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.