Olá Bruno, O erro acontece porque os seus componentes "Labels" (ex: labelNomeJogador) ainda não existem, pois o componente pai (compRowJogador) ainda não foi adicionado ao displayList. Isto faz parte do ciclo de vida dos componentes Flex.
Existem várias formas de resolver teu problema, mas te aconselho a seguir um estudo dirigido, pois o caminho "projetado" é um pouco diferente e mais simples, como o uso de binding e VO. []'s Saulo On 4 mar, 14:37, Bruno Brandão <[email protected]> wrote: > Olá pessoal, > > Alguém poderia me ajudar na seguinte questão: > > Criei um componente customizado chamado: *compRowJogador *conforme o seguite > código: > <?xml version="1.0" encoding="utf-8"?> > <mx:Canvas > xmlns:mx="http://www.adobe.com/2006/mxml" > xmlns:ns1="*" > width="100%" > height="60" > backgroundColor="#FFFFFF"> > <ns1:myImage x="5" y="5" borderColor="#790931" borderThickness="1" > width="50" height="50" source="" showBusyCursor="true" id="imgFotoJogador" > scaleContent="true"/> > <mx:Label x="60" y="0" text="Teste" color="#740A2F" fontSize="14" > fontWeight="bold" id="labelNomeJogador"/> > <mx:Label x="60" y="15" text="Teste" id="labelIdadeJogador"/> > <mx:Label x="60" y="39" text="Teste" fontWeight="bold" fontSize="12" > color="#7D0731" id="labelInfoJogador" height="21"/> > <mx:Script> > <![CDATA[ > > // --- setFotoJogador > ----------------------------------------------------------------- > public function setFotoJogador(foto:String):void { > this.imgFotoJogador.source = foto; > } > > // --- setNomeJogador > ----------------------------------------------------------------- > public function setNomeJogador(nome:String):void { > this.labelNomeJogador.text = nome; > } > > // --- setIdadeJogador > ---------------------------------------------------------------- > public function setIdadeJogador(idade:String):void { > this.labelIdadeJogador.text = idade; > } > > // --- setInfoJogador > ----------------------------------------------------------------- > public function setInfoJogador(info:String):void { > this.labelInfoJogador.text = info; > } > > ]]> > </mx:Script> > > </mx:Canvas> > > E estou tentando fazer o seguinte: > > var rowJogador:compRowJogador = new compRowJogador(); > > rowJogador.setNomeJogador("Bruno Brandão"); > rowJogador.setIdadeJogador("30 anos"); > > Quando tento executar a aplicação aparece o seguinte erro: > > TypeError: Error #1009: Cannot access a property or method of a null object > reference. > at > compRowJogador/setNomeJogador()[D:\Projetos\futevolei_encontro\www\flexFute > voleiEncontro\src\compRowJogador.mxml:22] > > Quando executo em modo DEBUG olhando pelos ids dos LABELs todos estão > setados para *null.* > > Estranho que tenho outro componente customizado muito parecido, derivado > também do canvas e consigo fazer isso. > > Alguém poderia me ajudar a identificar aonde estou pecando? > > Muito obrigado, > -- > Bruno Brandão > (71) 9909-3227 / (71) 3289-5351 --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
