Phantoxe 0 Denunciar post Postado Março 5, 2009 Galera.. olhe essa classe minha bem simples: package { import flash.display.*; import flash.events.*; public class Main extends MovieClip { public function Main() { } public function enviarDados(evt:MouseEvent):void { trace(nome_ti.text); } } } O problema tá no SEGUINTE... do jeito que eu projetei TODO meu SWF... o nome_ti não aparece de jeito nenhum no PRIMEIRO FRAME do FLASH... e dai eu tenho problemas.. pois o FLASH diz que não consegue encontrar o NOME_TI para recuperar o que foi digitado nele. Aparecendo a seguinte mensagem: 1120: Access of undefined property nome_ti. E volte e meia eu tenho esse problema foi faço Métodos que acessam objetos que só apareceram depois de um determinado frame no FLASH... e dai cai sempre neste problema... Alguém pode me dar uma solução pra este erro ?? Valeu Eduardo Burko Compartilhar este post Link para o post Compartilhar em outros sites
Matheus Brito 12 Denunciar post Postado Março 5, 2009 Galera.. olhe essa classe minha bem simples: package { import flash.display.*; import flash.events.*; public class Main extends MovieClip { public function Main() { } public function enviarDados(evt:MouseEvent):void { trace(nome_ti.text); } } } O problema tá no SEGUINTE... do jeito que eu projetei TODO meu SWF... o nome_ti não aparece de jeito nenhum no PRIMEIRO FRAME do FLASH... e dai eu tenho problemas.. pois o FLASH diz que não consegue encontrar o NOME_TI para recuperar o que foi digitado nele. Aparecendo a seguinte mensagem: 1120: Access of undefined property nome_ti. E volte e meia eu tenho esse problema foi faço Métodos que acessam objetos que só apareceram depois de um determinado frame no FLASH... e dai cai sempre neste problema... Alguém pode me dar uma solução pra este erro ?? Valeu Eduardo Burko A sugestao eh crie um metodo que criara a caixa de texto dinamica e podera fazer outras coisas nesse metodo mesmo e depois chame ele atraves do objeto da classe. Compartilhar este post Link para o post Compartilhar em outros sites
TestandoSistemas 0 Denunciar post Postado Março 5, 2009 ou... modifica a classe deixando o metodo com as ações que utilizando o tipo de dado que você quer, no caso uma String.. e quando for o momento de chamar a ação, você chama usando AS no frame mesmo, atribuindo o conteudo da caixa de texto como parametro no metodo. //----- no frame enviarDados(nome_ti.text); //----- na metodo public function enviarDados(conteudo:String):void { trace(conteudo); } /* vi que existe um MouseEvent ali, então creio que você está usando um botao, adicione a ação ao botao no frame tambem tipo */ botao.addEventListener(MouseEvent.CLICK, function (evt:Event):void{enviaDados(nome_ti.text)});pra quem não quer ter o trabalho de recomeçar um trabalho por um problema, a velha gambiware pode resolver, mas conselho pra proxima.. projeta tudo antes de começar a trabalhar.. literalmente poe no papel, ai você num precisa de gambiware. Compartilhar este post Link para o post Compartilhar em outros sites
Phantoxe 0 Denunciar post Postado Março 5, 2009 Cara... dentra da minha CLASSE MAIN.AS eu coloquei esse Método logo depois do contrutor. public function enviaDados(nome:String):void { trace(nome); } E lá no meu botão... isso na TIMELINE dai... coloquei assim: enviar_mc.addEventListener(MouseEvent.CLICK, function (evt:Event):void{enviaDados(nome_ti.text)}); E está me retornando este erro: 1180: Call to a possibly undefined method enviaDados. Não adianta me falar pra eu adicionar o LISTNER via AS porque não rola... pois o FRAME que preciso adicionar o LISTNER não aparece no PALCO quando minha CLASSE é carregada... só depois que o usuário clicar no botão CONTATO dai... ele vai para um monte de animação pra depois aparecer o botão que preciso colocar o LISTNER... ou seja... nem o ADDFRAMESCRIPT rola neste caso. Valeu ?? Me ajudem ai... que simplesmente estou a 1 semana e não consigo resolver... Eduardo Burko Compartilhar este post Link para o post Compartilhar em outros sites
TestandoSistemas 0 Denunciar post Postado Março 7, 2009 Como não sei o sei nivel de conhecimento sobre AS e POO, vai a pergunta: Você está instanciando a classe? como ela está linkada tipo, como ela está sendo inicializada? vale lembrar, que uma CLASSE não é igual um arquivo actionscript simples, uma classe é um "tipo de dado", assim como você coloca: var arr:ArrayCollection = new ArrayCollection(); você precisa colocar var myClass:MinhaClasse = new MinhaClasse(); entaum, pra usar, você teria que fazer: var myClass:MinhaClasse = new MinhaClasse(); myClass.enviaDados(nome_ti.text); bom, imagino que não seja isso, então, se for possivel, coloque o .fla e .as aqui pra gente analizar. Abraço. Compartilhar este post Link para o post Compartilhar em outros sites
Matheus Brito 12 Denunciar post Postado Março 7, 2009 Testando Sistemas tem razao , você pode instancia a classe atraves da barra de propriedades onde tem Document Class, ali você coloca o nome da classe. Abs Compartilhar este post Link para o post Compartilhar em outros sites