PDA

Просмотр полной версии : Проблемы с loadvariables


Hankuk
12.11.2009, 10:51
День добрый! Не могу поймать значение переменной, которую я получаю через LoadVariables. В файле result.txt значение переменной указано, более того при отладке в watch, я вижу ее правильное значение, но при trace(gorod1+" данные"), выдает undefined.

var gorod:String;
loadVariables("result.txt", "_root");
trace(gorod1+" данные");
gorod = gorod1;

Структура result.txt:
gorod1=rostov

mooncar
12.11.2009, 10:56
Ничего удивительного. Такая рухлядь, как loadVariables по другому работать не будет.
AS работает асинхронно, вы трейсите переменную, а ведь она еще не загрузилась, потому и undefined.
Используйте уже, наконец, класс LoadVars и используйте его метод onLoad.
И код на форуме оформляйте тегами.

Hankuk
12.11.2009, 11:07
В том то и дело, что с LoadVariables сайт работал несколько лет, а теперь возникла ситуация, что у 80% этот метод работает, а у 20% не работает.... Вот и пытаюсь наити траблу.

mooncar
12.11.2009, 11:10
Как работал LoadVariables раньше, судить не могу, так как флешем недавно стал заниматься. Но если хотите решать проблему, перепишите код с использованием LoadVars.
Вероятно, обновились плееры, и теперь все стало строже проигрываться.
Работы на 10 минут - вместе с изучением одного примера из хелпа, компиляцией и заливкой.

Добавлено через 5 минут
var lv:LoadVars = new LoadVars();
lv.onLoad = function(success:Boolean) {
if (success) {
gorod = this.gorod1;
trace(gorod);
}
};
lv.load('result.txt');
Естественно, все операции с gorod можно производить только изнутри onLoad.

Hankuk
12.11.2009, 11:33
Спасибо, через 10 мин отпишу :)

Добавлено через 4 часа 43 минуты
Передаю так:
var simple_lv:LoadVars = new LoadVars();
mb_rostov.onRelease = function() {

simple_lv.Name = 'rostov';
simple_lv.sendAndLoad("result.txt", simple_lv,"POST");
simple_lv.onLoad = function(success:Boolean) {
if(success){
trace("загружено");
getURL("region.html");
}else {
trace("error");
}
}

}


Принимаю так:
var gorod:String = new String();
var simple_lv:LoadVars = new LoadVars();

simple_lv.load("result.txt");
simple_lv.onLoad = function(success:Boolean) {
if(success){
w1.contentPath = "prognoz/"+_gorod+"/"+_gorod+".jpg";
} else{
trace("error");
}
}

Какую структуру должен иметь файл result.txt, что то не получается никак...