Ir para conteúdo

POWERED BY:

Arquivado

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

marcos.lavorato

Classes no Flash

Recommended Posts

Boa-tarde pessoal. Seguinte, estou começando com orientação objeto no Flash e estou tendo alguns problemas que gostaria de resolver. Estou carregando uma informação do meu arquivo PHP, e vai sem problemas, porém não estou conseguindo passar a informação para o meu componente de texto. O que pode ser? Segue abaixo o código do meu sistema.

 

CLASSE

class dataClasse {	public var data_variavel:String = "";	public function carregar ():Void {		var my_lv:LoadVars = new LoadVars ();		my_lv.onLoad = loadHandler;		my_lv.load ("http://www.site.com.br/sistema/data_pedido.php");		function loadHandler (loaded) {			if (loaded) {				data_variavel = my_lv.data;				getData ();			} else {			}		}	}	function getData ():String {		return data_variavel;	}}
FLASH

import dataClasse;function carregarData ():Void {	var obj:dataClasse = new dataClasse ();	obj.carregar ();	b.text = obj.getData ();}carregarData ();

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Marcos.

 

Encontrei alguns problemas na sua classe. Falta a função construtor da classe, para poder criar a instancia da classe, e falta esperar o LoadVars carregar os dados antes de atribuir o valor ao texto. Apesar de utilizar o evento onLoad na sua classe, o script no fla não espera o onLoad para depois chamar o getData().

 

Recomendo os tutoriais do Caio Meriguetti:

http://www.imasters.com.br/artigo/4545/act...m_actionscript/

http://www.imasters.com.br/artigo/4637/act...ipt_-_parte_02/

http://www.imasters.com.br/artigo/4728/actionscript/eventos/

 

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema agora é que ele não chama o método onDispara()

 

FLASH

import dataClasse;var obj:dataClasse = new dataClasse ();obj.onDispara = function () {	data_txt.text = obj.data_variavel;	trace (obj.data_variavel);	trace("chamou");};obj.carregar ();
CLASSE

class dataClasse {	public var onDispara:Function;	public var data_variavel:String = "";	function dataClasse () {	}	function carregar () {		var my_lv:LoadVars = new LoadVars ();		my_lv.load ("http://www.agcoifas.com.br/sistema/scripts/data_pedido.php");		my_lv.onLoad = loadHandler;		function loadHandler () {			data_variavel = my_lv.data;			onDispara ();		}	}}
Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que só pode ser isso:Nome de Classes sempre são com letras maiúsculas no começo das palavras, então o nome da sua classe, da função construtora e do arquivo *.as eu sugiro que seja DataClasse.Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Antoniosp, obrigado pela ajuda porém ainda não funcionou. Seguinte, ele não está chamando a função onDispara somente dentro do loadHandler, mas se estiver em outra parte do código ele chama porém não atribui o valor do resultado pois ele ainda não foi carregado. O que pode ser?!?Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

class dataClasse { public var onDispara:Function; public var data_variavel:String = ""; function dataClasse () { } function carregar () {var container:Object = this; var my_lv:LoadVars = new LoadVars (); my_lv.onLoad = function () { data_variavel = my_lv.data; container.onDispara (); } my_lv.load ("http://www.agcoifas.com.br/sistema/scripts/data_pedido.php"); }}

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.