Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Luiz Henrique

Não consigo reutilizar variável de LoadVars

Recommended Posts

Olá pessoal,

 

Estou utilizando o LoadVars para resgatar o valor de arquivos txt, porém só consigo fazer alguma coisa com o valor resgatado se eu estiver dentro da função e preciso fazer comparação com esta variável fora da função segue ela:

consulta = new LoadVars();
consulta.load('arquivo.txt');
consulta.onLoad = function() {
	valor = this.valor;
		trace (valor); // aqui o conteudo de valor é exibido
};
 trace (valor); // aqui o conteudo de valor não é exibido
e com isso tenho problema no que preciso fazer, o que preciso fazer para levar esta variavel para fora da função LoadVars?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Baixe os flas e de uma olhada no código.

 

Mas mesmo assim, copiei e colei seu código em um fla, fiz um txt com a variável e funcionou perfeitamente.

 

Pode ter certeza de que o erro não está neste script, está em outro lugar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o problema ai é que o evendo onLoad é assincrono, ele vai ser executado em paralelo do codigo abaixo dele

 

você tem que esperar executar o onLoad para ter acesso as variaveis fora dele, além disso não esqueça de declara a variavel fora dele

 

assim ela pode ser lida sem problema

 

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

eu declarei a variavel fora da evento

 

 

 

var pergunta = "";

var consulta:LoadVars = new LoadVars();

consulta.onLoad = function() {

pergunta = this.pergunta;

a = this.a;

b = this.b;

c = this.c;

correta = this.correta;

trace ("Pergunta dentro = "+pergunta);

};

consulta.load('http://server/teste/q+q1+.txt');

trace ("Pergunta fora = "+pergunta);

 

você tem que esperar executar o onLoad para ter acesso as variaveis fora dele

percebi isso quando dou um trace dentro da função, o trece de fora aparece primeiro que o de dentro, como posso fazer para esperar a variável der carregada para aí entar utilizar ela? Com isso acredito que o problema resolva.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

uma forma simples seria você criar uma função que vai ser executada quando o onLoad tiver finalizado, nessa função você coloca tudo que tem que ser feito quando tiver esse valor, e chama ela dentro do onLoad

 

 

ou você pode colocar esse código que postou no 1º frame, e com um "stop()" no inicio, e o resto do código no segundo frame, ai dentro do onLoad você coloca: "_root.gotoAndoStop(2)"

 

assim ele vai para o segundo frame quando já tiver o valor que veio do XML

 

 

 

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

uma forma simples seria você criar uma função que vai ser executada quando o onLoad tiver finalizado, nessa função você coloca tudo que tem que ser feito quando tiver esse valor, e chama ela dentro do onLoad

 

 

ou você pode colocar esse código que postou no 1º frame, e com um "stop()" no inicio, e o resto do código no segundo frame, ai dentro do onLoad você coloca: "_root.gotoAndoStop(2)"

 

assim ele vai para o segundo frame quando já tiver o valor que veio do XML

 

 

 

 

[]´s

beleza resolvido, obrigado rapaz,

 

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.