Erro de compilação? Erro de execução? Nenhum dos dois. O resultado do trace é "Nome: Bruno Sales". A variável foi criada mesmo que o código dentro do IF não tivesse sido executado.
Isso acontece pois o ActionScript só tem 2 tipos de escopo: Global e Local; onde Local é considerado todo o escopo dentro de uma função.
Contudo, sugiro para que nunca utilizem algo deste tipo em seu processo de desenvolvimento. A lógica de seu código ficará muito confusa e causará sérios problemas para manutenção e debug.
Todos aqueles que usam o Firefox para testes durante o desenvolvimento de aplicações em Adobe Flex, com certeza já tiveram problemas com o cache. Isso se torna mais frustrante quando a aplicação é muito grande que, para efetuar o teste é preciso passar por alguns passos antes de chegar ao ponto que gostaria, e quando chega, descobre que o swf que está acessando era uma versão que estava em cache.
Obviamente existem algumas maneiras de resolver este problema, porém vou apresentar a solução que eu uso, e acho bem prática.
Abra o firefox e na barra de endereços digite: about:config. Uma mensagem de alerta aparecerá, porém iremos prosseguir para que possamos fazer a configuração.
Procure na barra de buscas por estes itens: browser.cache.memory.enable, browser.cache.disk.enable. Eles provavelmente vão estar com o valor true, o que iremos fazer é mudar o valor deles para false.
Para confirmar se a alteração foi efetuada, basta digitar na barra de endereços: about:cache, o resultado deve ser uma mensagem informando que o cache foi desabilitado.
Pronto. Agora o cache do Firefox foi desabilitado, de forma simples e rápida.
Metadatas são declarações usadas em suas classes ActionScript/MXML que podem definir atributos de seus componentes, propriedades "bindable", eventos, etc. Quem programa em flex já deve conhecer algumas das mais comuns como [Bindable] e [Event], e para quem tem um conhecimento em Java, pode comparar metadatas com annotations.
As tags de metadata são associadas a declarações de classe, um único campo de data ou um método. Para associar uma metadata basta você escrevê-la em uma linha antes de sua propriedade ou método, como por exemplo:
Porém, isso não passa de uma implementação básica. Até o momento só utilizamos metadatas pré-definidas na sdk do Flex, e o que gostariamos mesmo seria criar nossas próprias metadatas, e saber como interpretá-las.
Vamos por passos. O exemplo a seguir mostra a implementação de uma metadata personalizada para atributos de uma classe.
Derrepente, progressBar que sempre funcionou parou de funcionar. Bem pra dar estresse quando prazo é bem curto. Para passar direto de assunto... Acontece quando invez de player 9.x passou de usar 10.x.
Antigamente se você não colocou nada, ou colocou mode="manual" no progressBar, funcionou. Agora com player 10, tem que colocar mode="{ProgressBarMode.MANUAL}" se omite, barra nunca vai correr, se você tá setando pelo setProgress(loaded, total) de fora.
Desde que eu apresentei "O Segredo das RIAs de Sucesso" no Café com o Tom eu tive vontade de fazer uma versão mais "caprichada" e disponibilizar para a comunidade dado o Feedback positivo que a apresentação teve. Por isto, hoje estou disponibilizando "O Segredo das RIAs de Sucesso - Professional Edition".
Caso tenha vontade, utilize as opções do player acima para embutir (embed) este vídeo na página que desejar. Se preferir, pode fazer o download do .MOV original clicando aqui
Além de usar e abusar das transições do Keynote (Powerpoint nunca mais!!!) o conteúdo da presentação também sofreu alterações. Eu removi alguns slides desnecessários, modifiquei completamente a primeira parte da apresentação e substituí algumas imagens por vídeos exemplo para explicar melhor os conceitos (isto foi muito útil principalmente no capitulo que fala dos efeitos/transições).
Se você já conhece o Segredo poderá tirar proveito desta versão turbinada com excelente áudio, novos conceitos e exemplos mais ricos. E para quem ainda não conhece o segredo fica a pergunta: O que Mohamed Ali, Albert Einstein e Steve Jobs tem a nos ensinar sobre as RIAs de sucesso?
Clique aqui para ver outros vídeos da DClick TV. Clique aqui para assinar o RSS da DClick TV.
Pode parecer uma coisa boba, mas muita gente ainda tem dúvidas de como fazer o bind em functions no Flex. O maior problema com isso é que, como o resultado de uma function pode depender de muitos fatores, o Flex não tem como saber se o valor foi atualizado ou não, portanto o bind não funciona.
Considere um exemplo bobo onde temos dois TextInput e o segundo tem um bind para uma function que multiplica o valor do primeiro por 3 sempre. Algumas pessoas tentariam fazer dessa maneira:
Dessa maneira, o valor nunca será atualizado, pois o Flex não tem como saber que o “tiValor1.text” lá dentro da function deverá ser monitorado. Uma das soluções possíveis, e mais utilizadas pela maioria das pessoas, é passar uma propriedade que seja bindable como parâmetro para a function. Assim, toda vez que o valor bindable for atualizado a function será chamada novamente. Dessa maneira:
Eu havia postado uma breve introdução sobre efeitos 3D nativos do Flash Player 10 há algum tempo. Com base naquele estudo e um entendimento melhor de como o FP10 funciona, criei este componente que, apesar de comum para quem usa frameworks 3D (Papervision, etc...), funciona muito bem nativo e consequentemente fica muito mais leve.
Além disso o componente funciona com qualquer DisplayObject, tornando sua interatividade ainda maior.
A demo a seguir mostra o componente e algumas de suas propriedades:
Você pode visualizar aqui o código fonte.
(Não esqueça que este é um projeto FP10. Para este funcionar vá em Propriedade do Projeto > Flex compiler > Require Flash Player e preencha com 10.0.0).