Indeed, você não pode manipular qualquer componente que esteja em outro state, 
porque eles ainda não foram criados.

Para manipular isso, utilize a função callLater(function(){}) logo após mudar o 
state ou o evento enterState.

O callLater faz com q o delegate anônimo seja executado no próximo quadro, 
quando o novo state estará disponível.


From: Collin Peterson Mendes Chaves 
Sent: Friday, November 20, 2009 11:03 AM
To: flexdev@googlegroups.com 
Subject: [flexdev] Re: passar parametros do combobox


JC, será que o erro tem a ver com os states? eu tenho criado. acho que já vi 
alguém falar de criar o objeto antes de mudar o state para dar erro, algo 
assim. 
como eu analiso isso. por que a meu ver eu clico em um botão, ele muda o state 
e aparece graficamente as estruturas com o combobox, então não vejo como eu ter 
criado o componente antes.ou algo do tipo, mesmo pq , eu consigo popular ele, 
apenas nao consigo passar o parametro.


2009/11/20 Collin Peterson Mendes Chaves <collinpeters...@gmail.com>

  oi JC, fiz esse teste do trecho que vc me enviou. o que me deixou surpreso é 
que a mensagem 'Cade o combo' foi a exibida. não entendo isso, o combobox 
existe, como é que ele acusa q não existe?


  2009/11/19 J.C.Ködel <jcko...@gmail.com> 


    certamente listPromotores ou listPromotores.selectedItem são nulos.
    Tente fazer isso:

    if(listPromotores == null) { Alert.show("Cade o combo?"); }
    else if(listPromotores.selectedItem == null) { Alert.show("Eita tio, 
seleciona o treco no combo ae!"); }
    else Alert.show(listpromotores.selectedit...@promotor);

    Note que, quando estamos lidando com xml, devemos ler os atributos do xml 
(por isso o @ antes de promotor), mas se databinding for feito com uma classe, 
então é só promotor. E se promotor é um nó do xml, então não vai funcionar 
assim (já que selectedItem seria o nó).

     
    From: Collin Peterson Mendes Chaves 
    Sent: Thursday, November 19, 2009 6:18 PM
    To: flexdev@googlegroups.com 
    Subject: [flexdev] Re: passar parametros do combobox


    estou fazendo um teste para verificar os valores do combobox capturado que 
implementei assim:

    public

    function exibeCombobox():void{ 

    var texto:String=String(listPromotores.selectedItem.promotor); 
    Alert.show(

    "o texto é "+texto,"conteúdo"); 
    }

    e obtenho a seguinte mensagem de erro: 

    TypeError: Error #1009: Não é possível acessar uma propriedade ou um método 
de uma referência de objeto nula.
     at cabecalho/exibeCombobox()[C:\Documents and Settings\collin\My 
Documents\Flex Builder 3\proRelatorioCorregedoria\src\cabecalho.mxml:56]
     at 
proRelatorioCorregedoria/___proRelatorioCorregedoria_Button3_click()[C:\Documents
 and Settings\collin\My Documents\Flex Builder 
3\proRelatorioCorregedoria\src\proRelatorioCorregedoria.mxml:132]

    não entendo o porque do erro, fiz várias mudanças em 
listPromotores.selectedItem, listPromotores.labelField e outras configurações e 
o mesmo erro persiste.
    nunca vi tamanha complicação em um componente na hora de pegar parametro 
escolhido.

    2009/11/19 Collin Peterson Mendes Chaves <collinpeters...@gmail.com>

      obrigado renato, consegui atualizar e eliminou o erro. :)


      2009/11/19 Renato Gonçalves <renato...@gmail.com> 


        Atualiza o Flash Debugger
        http://www.adobe.com/support/flashplayer/downloads.html

        Baixa o flash para o seu navegador com a opção debugger.


        2009/11/19 Collin Peterson Mendes Chaves <collinpeters...@gmail.com> 


          oi JC, rapaz acho que não estou sabendo debuggar pois coloco um
          breakpoint em uma linha, quando rodo o debug a aplicação roda
          normalmente e a visão em perspectiva não muda para a versão debug
          mudando o layout.
          e depois de algum tempo aparece a seguinte mensagem

          Em 18/11/09, J.C.Ködel<jcko...@gmail.com> escreveu:

          > Vamos por partes, como diria Jack.
          >
          > Você debugou teu código flex e viu se o valor sendo enviado pelo 
Flex para o
          > ASP está correto?
          >
          > --------------------------------------------------
          > From: "Collin Peterson Mendes Chaves" <collinpeters...@gmail.com>
          > Sent: Wednesday, November 18, 2009 11:10 AM
          > To: <flexdev@googlegroups.com>
          > Subject: [flexdev] Re: passar parametros do combobox
          >
          >>
          >> oi JC, vou ver se explico : eu tenho o xml que eu gero no asp e 
trago
          >> para o combobox, é o seguinte xml
          >>
          >>  <?xml version="1.0" encoding="ISO-8859-1" ?>
          >>  <designacoes>
          >>     <designacao id="1">Exercício de sua Titularidade</designacao>
          >>     <designacao id="2">Exercício em Substituição</designacao>
          >>     <designacao id="3">Exercício por Designação</designacao>
          >>     <designacao id="4">Atuação em Auxílio ou 
Colaboração</designacao>
          >>     <designacao id="5">Relatório de Mutirão</designacao>
          >>     <designacao id="6">Relatório de Plantão</designacao>
          >>  </designacoes>
          >>
          >> em seguida eu atribuo o xml gerado a um ArrayCollection criado
          >> conforme o codigo a seguir:
          >>
          >> [Bindable]
          >> public var designacao:ArrayCollection=new ArrayCollection();
          >>
          >> public function BuscaDesignacao(event:ResultEvent):void{
          >>  designacao=event.result.designacoes.designacao;
          >> }
          >>
          >> esse array chamado designacao é colocado no data provider do 
combobox
          >> e com isso tenho a população dos dados dentro do componente. até ai
          >> nenhum problema.
          >>
          >> quando eu tento escolher o valor do combobox para enviar para o asp
          >> (para fazer a inserção no banco) percebo no asp que o conteúdo 
enviado
          >> é vazio, pois coloco um alert.show para exibir o retorno do asp e 
não
          >> retorna nada.
          >> o problema e que não sei o que está acontecendo, o porque de não 
está
          >> conseguindo passar o id para inserir.
          >>
          >> espero ter esclarecido melhor.
          >>
          >> Em 17/11/09, Rafael<rafael.tre...@gmail.com> escreveu:
          >>> eu faço desta maneira, tente ai
          >>>
          >>> "id do combobox".selectedItem."valor que deseja" ( no seu caso 
seria
          >>> "id" )
          >>>
          >>> ou tbm pode ser
          >>>
          >>> "id do combobox".dataProvider["id do 
combobox".selectedIndex]."valor que
          >>> deseja" ( no seu caso seria "id" )
          >>>
          >>>
          >>> 2009/11/17 Collin Peterson Mendes Chaves 
<collinpeters...@gmail.com>
          >>>
          >>>>
          >>>> oi rafael, tentei sua solução e continua saindo vazio -
          >>>> cb.designa.selectedItem.id
          >>>> JC, como seta o labelfield para @text? na verdade eu quero 
passar não
          >>>> o texto e sim o id.
          >>>>
          >>>> Em 17/11/09, Rafael<rafael.tre...@gmail.com> escreveu:
          >>>> > passe desta maneira
          >>>> > --> cb.designa.selectedItem.id
          >>>> >
          >>>> > 2009/11/17 J.C.Ködel <jcko...@gmail.com>
          >>>> >
          >>>> >> Tente passar os textos como atributos ao invés de inline.
          >>>> >>
          >>>> >> i.e.:
          >>>> >>
          >>>> >> <designacao id="1" text="Exercício ..."/>
          >>>> >>
          >>>> >> E setar o labelField para @text.
          >>>> >>
          >>>> >> --------------------------------------------------
          >>>> >> From: "Collin Peterson Mendes Chaves" 
<collinpeters...@gmail.com>
          >>>> >> Sent: Tuesday, November 17, 2009 12:02 PM
          >>>> >> To: "flexdev" <flexdev@googlegroups.com>
          >>>> >> Subject: [flexdev] passar parametros do combobox
          >>>> >>
          >>>> >>
          >>>> >>
          >>>> >>> pessoal, tenho o seguinte xml que uso para popular o 
combobox, até
          >>>> >>> ai
          >>>> >>> tudo
          >>>> >>> bem
          >>>> >>>
          >>>> >>> <?xml version="1.0" encoding="ISO-8859-1" ?>
          >>>> >>> <designacoes>
          >>>> >>>  <designacao id="1">Exercício de sua 
Titularidade</designacao>
          >>>> >>>  <designacao id="2">Exercício em Substituição</designacao>
          >>>> >>>  <designacao id="3">Exercício por Designação</designacao>
          >>>> >>>  <designacao id="4">Atuação em Auxílio ou 
Colaboração</designacao>
          >>>> >>>  <designacao id="5">Relatório de Mutirão</designacao>
          >>>> >>>  <designacao id="6">Relatório de Plantão</designacao>
          >>>> >>> </designacoes>
          >>>> >>>
          >>>> >>> o problema é que quando envio a informação escolhida por 
httpservice
          >>>> >>> para o asp que vai tratar a informação, percebo que a 
informação não
          >>>> >>> aparece (vazia). utilizo um alert.show para comprovar.
          >>>> >>>
          >>>> >>> já tentei de tudo para passar a informação e nada.
          >>>> >>>
          >>>> >>> {cb.designa.text}
          >>>> >>> {cb.designa.value}
          >>>> >>> {cb.designa.selectedItem.data}
          >>>> >>> {cb.designa.data}
          >>>> >>>
          >>>> >>> alguém pode me ajudar?
          >>>> >>>
          >>>> >>> >>
          >>>> >>
          >>>> >
          >>>> > >
          >>>> >
          >>>>
          >>>> >
          >>>>
          >>>
          >>> >
          >>>
          >>
          >> >>
          >>






        -- 
        Renato Gonçalves 
        --~--~---------~--~----~------------~-------~--~----~
        Você recebeu esta mensagem porque está inscrito na lista "flexdev" 
        Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com 
        Para sair da lista, envie um email em branco para 
flexdev-unsubscr...@googlegroups.com 
        Mais opções estão disponíveis em http://groups.google.com/group/flexdev
        -~----------~----~----~----~------~----~------~--~---

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Responder a