OWWwww... vc tem razao!!!! Vou ver como eu fiz num projeto anterior, mas provavelmente eu nao usei const e deixei como var mesmo.... embora a idéia da const seja nao mudar o valor, fica para o dev a responsa de nao alterar o valor.
Vou pesquisar mais tarde e mando aqui, sei q já fiz algo parecido... valeu o alerta :) []'s Em 29 de junho de 2011 11:18, Fredy Gadotti <[email protected]> escreveu: > Mário, > > até iria sugerir isso, mas as constantes não são herdadas quando uma classe > estende outra, logo o EventHandler não encontraria a constante e nem > iniciaria o projeto. > > Fiquei pensando em alguma coisa para usar alguma interface, ou algo do > gênero, mas não me veio nada na cabeça também. > > > Att, > > Fredy. > > > 2011/6/29 Mário Júnior <[email protected]> > >> O Swiz, a partir da versao 1.1, faz a distinção dos eventos levando em >> conta tanto o type (String da constante) como também o TIPO DA CLASSE de >> Evento. >> >> Sabendo disso, Vc pode fazer assim: >> >> >> //Criar uma classe que define os eventos em comuns >> public class CRUDEvents extends Event { >> public static const SALVAR : String = "SalvarEvent"; >> .... >> >> } >> >> >> //Criar uma classe de eventos específica para tais cadastros q extendem >> dos eventos em comum... >> //Uma para o cadastroA >> public class CadastroAEvent extends CRUDEvent { >> >> } >> >> ////Outra para o cadastroB >> public class CadastroBEvent extends CRUDEvent { >> >> } >> >> >> e nos métodos que vc irá mediar os eventos, vc declara as metadatas >> >> [EventHandler(event="CadastroAEvent.SALVAR")] >> public function salvaCadastroA():void { .... } >> >> E, se quiser em outra classe pode usar ... REPARE que a classe de Evento é >> diferente da anterior >> [EventHandler(event="CadastroBEvent.SALVAR")] >> public function salvaCadastroB():void { .... } >> >> >> e na hora de disparar vc faz: >> >> //evento 1 >> var evt : CadastroAEvent = new CadastroAEvent(CadastroAEvent.SALVAR); >> dispatchEvent(evt); >> >> //evento 2 >> var evt : CadastroBEvent = new CadastroBEvent(CadastroBEvent.SALVAR); >> dispatchEvent(evt); >> >> >> >> Repare que os dois eventos ("CadastroAEvent" e "CadastroBEvent") usam a >> MESMA constante "SALVAR", logo o type (String) é o mesmo para os dois. >> Naturamente o Flash Player executaria os dois métodos, certo? Mas o Swiz é >> esperto.. garoto inteligente... no momento q um evento é disparado, ele irá >> interceptar o evento e por reflexão ele identificará qual o TIPO DA CLASSE >> do evento e entao executará o método certo, e nao os dois (como se fosse o >> comportamento padrao). >> >> >> Sacou? ;) >> >> long life to swiz.... >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> Em 29 de junho de 2011 09:00, Leonardo Ribeiro >> <[email protected]>escreveu: >> >> Pessoal, >>> >>> Estou usando o Swiz para o desenvolvimento de um novo projeto e existem >>> alguns "cadastrinhos auxiliares" que por exemplo a tela tem apenas um ou >>> dois campos como 'Descrição' e/ou 'Sigla'. >>> Bem, supondo que tenho os "cadastrinhos" A e B, eu tenho no meu projeto >>> as classes: >>> >>> CadAEvent e CadBEvent mas ambas as classes tem as "mesmas" >>> informações...como segue >>> >>> public static const SAVE:String = "CadAEvent .SAVE"; >>> public static const SAVE_CALLBACK:String = "CadAEvent .SAVE_CALLBACK"; >>> public static const REMOVE:String = "CadAEvent .REMOVE"; >>> public static const REMOVE_CALLBACK:String = "CadAEvent >>> .REMOVE_CALLBACK"; >>> public static const SEARCH:String = "CadAEvent .SEARCH"; >>> public static const SEARCH_CALLBACK:String = "CadAEvent >>> .SEARCH_CALLBACK"; >>> >>> Para o CadBEvent é a mesma coisa somente mudando de CadAEvent.SAVE >>> para CadBEvent.SAVE, e etc... >>> >>> O mesmo ocorre para os PM e Controller. Claro que cada um chama seu >>> respectivo "save", "remove" etc.. >>> Mas a estrutura eu acabo fazendo um Ctrc+C Ctrc+V mesmo e só faço >>> pequenas alterações, como mudar o >>> prefixo do nome do Event de CadAEvent para CadBEvent... >>> >>> Eu até pensei em criar a classe "CadastrinhosEvent" com SAVE, REMOVE, >>> etc, mas se ambos os controllers >>> mediarem o mesmo event da problema né? >>> >>> Tem alguma forma de eu criar uma classe padrão sem ter que ficar >>> praticamente fazendo Ctrc+C Ctrc+V ? >>> >>> -- >>> []'s >>> Leonardo >>> >>> Linux User #488650 >>> Ubuntu User #27045 >>> Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece >>> >>> -- >>> Você recebeu esta mensagem porque está inscrito na lista "flexdev" >>> Para enviar uma mensagem, envie um e-mail para [email protected] >>> Para sair da lista, envie um email em branco para >>> [email protected] >>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev >> >> >> >> >> -- >> Mario Junior >> http://blog.mariojunior.com/ >> @mariojunior >> >> -- >> Você recebeu esta mensagem porque está inscrito na lista "flexdev" >> Para enviar uma mensagem, envie um e-mail para [email protected] >> Para sair da lista, envie um email em branco para >> [email protected] >> Mais opções estão disponíveis em http://groups.google.com/group/flexdev >> > > -- > Você recebeu esta mensagem porque está inscrito na lista "flexdev" > Para enviar uma mensagem, envie um e-mail para [email protected] > Para sair da lista, envie um email em branco para > [email protected] > Mais opções estão disponíveis em http://groups.google.com/group/flexdev > -- Mario Junior http://blog.mariojunior.com/ @mariojunior -- Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para [email protected] Para sair da lista, envie um email em branco para [email protected] Mais opções estão disponíveis em http://groups.google.com/group/flexdev
