hgb7 3 Denunciar post Postado Janeiro 15, 2010 http://fabiophx.blogspot.com/2009/05/metodo-construtor-singleton.html Espero que dê uma luz :) http://fabiophx.blogspot.com/2009/05/metodo-construtor-singleton.html Espero que dê uma luz :) Compartilhar este post Link para o post Compartilhar em outros sites
DanielD2 0 Denunciar post Postado Janeiro 15, 2010 Bom dia Galera Como passar uma função para o método construtor, veja o exemplo abaixo. package { import flash.display.*; import flash.events.*; public class MinhaClasse extends MovieClip { private var disparaCall:Function; private var BotaoMc:MovieClip; public function MinhaClasse(_BotaoMcIni:MovieClip, _disparaCallIni:Function) { disparaCall = _disparaCallIni; BotaoMc = _BotaoMcIni; chamaOuvintes(); } private function chamaOuvintes():void { BotaoMc.buttonMode = true; BotaoMc.addEventListener(MouseEvent.MOUSE_DOWN,funcaoPress); } private function funcaoPress(evento:MouseEvent):void { if(disparaCall != undefined) { disparaCall(); } } } } //--> no fla import MinhaClassse; var meubt:MinhaClasse = new minhaClasse (this.btScrollMov,funcaoTeste); function funcaoTeste() { trace("ok"); } o erro que retorna é esse 1067: Implicit coercion of a value of type Function to an unrelated type String. valew PessoAll Compartilhar este post Link para o post Compartilhar em outros sites
DanielD2 0 Denunciar post Postado Janeiro 15, 2010 Obrigado hgb7 Mais ainda não deu certo, o que quero fazer é passa uma função como se fosse um argumento. sem mais Compartilhar este post Link para o post Compartilhar em outros sites
Michel Araújo 0 Denunciar post Postado Janeiro 15, 2010 Você copiou e colou seu código aqui? É melhor copiar e colar, pois as vezes tem no seu código um erro que você n percebeu, e que você pode não cometer ao reescrever. Digo isso, pois pelo codigo que você deixou aqui no forum, os erros seriam outros, relacionados a uns erros de digitação: import MinhaClassse; // <-- Aqui, 3 's' var meubt:MinhaClasse = new minhaClasse (this.btScrollMov,funcaoTeste); // <-- Aqui, minuscula no nome da classe ficando: import MinhaClasse; //Apesar de desnecessário var meubt:MinhaClasse = new MinhaClasse (this.btScrollMov,funcaoTeste); Além disso compara o disparaCall com null, e não com undefined. O restante parece correto, usando esse código que você postou. Compartilhar este post Link para o post Compartilhar em outros sites
DanielD2 0 Denunciar post Postado Janeiro 15, 2010 package { import flash.display.*; import flash.events.*; public class MinhaClasse extends MovieClip { private var disparaCall:Function; private var BotaoMc:MovieClip; public function MinhaClasse(_BotaoMcIni:MovieClip, _disparaCallIni:Function) { disparaCall = _disparaCallIni; BotaoMc = _BotaoMcIni; chamaOuvintes(); } private function chamaOuvintes():void { BotaoMc.buttonMode = true; BotaoMc.addEventListener(MouseEvent.MOUSE_DOWN,funcaoPress); } private function funcaoPress(evento:MouseEvent):void { if(disparaCall != null) { disparaCall(); } } } } //--> no fla import MinhaClasse; var meubt:MinhaClasse = new MinhaClasse (this.btScrollMov,funcaoTeste); function funcaoTeste() { trace("ok"); } valew Michel Araújo era o null mesmo Se você puder me ajudar no meu outro topico http://forum.imasters.com.br/index.php?/topic/377548-carregamento-meio-esquisito/ valew Compartilhar este post Link para o post Compartilhar em outros sites