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
-~----------~----~----~----~------~----~------~--~---

Responder a