PDA

Просмотр полной версии : Проблема с чтением из файла!


bolirina
01.04.2009, 13:11
Здравствуйте!

У меня такой вопрос: делаю элементарные вещи: погружаю из текстового файла переменные в массив:

a = new Array();
loadDest = new LoadVars();
loadDest.load("http://www.name.ru/info/dest.txt");
loadDest.onLoad = initDest;
function initDest(destenations) {
a[0] = loadDest.d0;
for (per=1; per<=a[0]; per++) {
a[per] = loadDest["d"+per];
dest = a[1];
}
}

Запускаю Test Movie - все загружается и работает. А если публикую и загружаю клип на сервер или просто запускаю с компьютера swf-файл, flash выдает сообщение:
"A script in this movie is causing Adobe Flash player 9 to run slowly. If it countinues to run? your computer may become unresponsive. Do you want to abort the script?"

Жму на "да" - текст не подгружается (undefined). Жму на нет - в текстовое не грузится вообще ничего:wacko:

Что это за сообщение? Что я делаю не правильно? Помогите пожалуйста!!!

Fatality
01.04.2009, 13:35
Зачастую это сообщение появляется, когда вы создаете бесконечный цикл. Уделите внимание условию выхода из цикла, ваш цикл выполняется пока per меньше или равно a[0]. Вопрос в том, чему оно равно ?

bolirina
01.04.2009, 14:07
Оно равно количеству загружаемых переменных. То есть я чтобы загрузить, например, 3 переменных, прописываю переменные в файле так: d0=3&d1=var1&d2=var2&d3=var3.

Но ведь в Test Movie работает все!

nOobCrafter
01.04.2009, 15:51
a.length вы про длинну массива тчоли?

Wolsh
01.04.2009, 18:26
Видимо в d0 текста записано количество переменных.

Добавлено через 5 минут
Вопрос в том, загружает ли флэшка этот файл. Вы ведь не проверяете, чему равна Ваша destenations. А она там не для красоты написана, и даже не на всякий случай))
Проверяйте. Сервер может просто не давать текст, как не дает например мне.

bolirina
02.04.2009, 06:48
Видимо в d0 текста записано количество переменных.

Точно) я про это и писала)

Вопрос в том, загружает ли флэшка этот файл. Вы ведь не проверяете, чему равна Ваша destenations. А она там не для красоты написана, и даже не на всякий случай))

А зачем там destenations вообще? :rolleyes: Я знаю, что ее надо писать и все...) И как ее проверить?


Проверяйте. Сервер может просто не давать текст, как не дает например мне.
Опять-таки повторюсь, что текст с сервера погружается при запуске Test Movie. Но вот при запуске флэшки локально - эта ошибка. Закомментировала остальные строки программы поэтому проблема только в этом коде...

Wolsh
02.04.2009, 15:39
Это булева переменная, она либо true либо false
Дело в том, что если сервер файл не отдал или соединения нет или еще какая беда - событие onLoad всеравно наступит, так как загрузка завершена - но! с ошибкой. Тогда переменная примет значение false.
Режим тестирования в среде Flash игнорирует политики безопасности, поэтому файл свободно читается. При локальном запуске все зависит от настроек Publish Settings - там есть только два режима - свф может читать ЛИБО только локальные файлы, ЛИБО только из сети. Делайте выводы. А почему на сервере не читается - ну тут уж надо детали знать. Может быть безопасность, может быть путь неверный указан, еще масса причин. Узнайте сначала - загружается ли тхт.

bolirina
03.04.2009, 07:33
Спасибо огромное! Разобралась вроде! Локально не запускалась по-моему из-за прокси. И на сервере текст в флэшку сейчас норм загрузился (когда я флешку перенесла на один сервер с текстовым файлом)!!!
Просто я грузила файл с с одного сервера, а флешка на другом лежала, и вот на это другом слетели настройки DNS, а я не знала этого)))
Так что все это в куче ввело меня в ступор на пару дней)

Еще раз спасибо!