PDA

Просмотр полной версии : [Flash MX] Бага в среде разработки ?


CyberMax
15.03.2002, 21:24
Вот такой, ничем не примечательный код:



var doc = new XML();

doc.onLoad = function(success) {
if(success) {
trace("Document successfully loaded.");
Text += "Document successfully loaded.";
} else {
trace("Failing to load XML document.");
Text += "Failing to load XML document.\n";
trace("Status = " + this.status);
Text += "Status = " + this.status + "\n";
trace("Loaded = " + this.loaded);
Text += "Loaded = " + this.loaded + "\n";
}
}

doc.load("document.xml");



Файл document.xml существует, не содержи ошибок и лежит где надо (т.е. должен быть доступен по XML.load())

Теперь внимание: Если в пути к директории проекта встречается хотя бы одна кириллическая буква, то при тесте в среде разработки огребаем ошибку:

Failing to load XML document.
Status = 0
Loaded = false
Error opening URL "file:///C|/Тест/document.xml"


При этом stand-alone player работает нормально.

Баг ?

Дениска
15.03.2002, 23:46
насколько я слышал он счас все грузит в юникоде. т.е. теперь обязательно прописывать в заголовке тип (енкодинг) данных.

CyberMax
16.03.2002, 04:32
Юникод это, конечно же, хорошо (я еще удивлялся, когда читал спецификацию на SWF четвертой версии, чегой-то они в юникоде строки не хранят), но encoding тут не причем.
Похоже, что при попытке получить полный путь до загружаемого документа они что-то напутали с переводом строки с путем в юникод и поэтому строка получается битой (смотри путь до документа(URL) в сообщении о ошибке в Output Window)

Я же написал -- если в пути нет кириллических букв, то все OK, если же есть (Например те же "Мои документы"), то флэш глючит. До загрузки тут дело даже и не доходит. Да и в Stand-alone player все OK.

В общем, пример в аттаче. Попробуй сначала положить его в директорию без кириллических букв в названии, а потом -- с кириллическими буквами в названии. Разница должна быть видна в Output Window.