Boas Pessoal,
NF , obrigado pelas dicas, e realmente tinhas razão, excepto o
student.invalidateDisplayList() que não resolvia o problema.

entretanto a resolução passou por:
actualizar para a versão 3.4.0.9271 eu estava a compilar com a
3.4.0.8906 e passou a funcionar

On 22 Out, 21:47, Nuno Fernandes <[email protected]> wrote:
> ok já tentei fazer o teste mas correu mal desde o inicioporque não consigo
> reproduzir o erro com o SDK 3.2 nem com o 3.3
> como seja, aqui vai umas alterações no codigo que pedia a quem ta com erros
> que tenta-se ver o resultado
>
> private function init():void{
>
> arrColl1.addEventListener(CollectionEvent.COLLECTION_CHANGE,
> handleCollectionChange);
>
> arrColl2.addEventListener(CollectionEvent.COLLECTION_CHANGE,
> handleCollectionChange);
>                        myArrayCollection = this.arrColl1;
>                        //this.validateNow();
>
>                }
>
>                private function
> handleCollectionChange(event:CollectionEvent):void{
>                trace('collection change ' );
>                }
>
>                private function changeData():void{
>                        myArrayCollection= this.arrColl2;
>                        //this.validateNow();
>                        myArrayCollection.dispatchEvent(new
> CollectionEvent(CollectionEvent.COLLECTION_CHANGE));
>                }
>
> A meu ver o codigo original pode realmente produzir o problema descrito, o
> que pode acontecer é que o myArrayCollection não dispara o evento
> COLLECTION_CHANGE quando se clica no botão, isto porque quando se faz isto
> "myArrayCollection= this.arrColl2;" tamos "a dizer" que o myArrayCollection
> passa a ter uma referencia para o arrColl2, e como não houve alteração no
> array a ComboBox pode não actualizar.
>
> um possivel solução pode ser:
>
> myArrayCollection= this.arrColl2;
> student.invalidateDisplayList();
>
> isso vai obrigar a comboBox a actualizar-se
>
> O primeiro bloco de codigo é util se precissamos de saber quando ha
> alterações, experimenten comentar a linha
> "myArrayCollection.dispatchEvent(new
> CollectionEvent(CollectionEvent.COLLECTION_CHANGE));" e verão que nunca
> entra na função handleCollectionChange
>
> E não vale a pena adicionar o eventListener ao myArrayCollection porque
> assim que o "igualamos" a um dos outros arrayCollection perdemos o
> eventListener, novamente, o myArrayCollection "passa a ser  um apontador"
> para o outro a que foi igualado.
>
> Fico a espera da vossa resposta para saber se isto ajudou ou não :)
>
> 2009/10/22 Nuno Fernandes <[email protected]>
>
> > Boas malta,
> > Já passei por uma coisa destas, ou semelhante, eu não acredito que o SDK
> > possa ser o que mais influencia nisto, eu vou fazer uns testes e depois vou
> > dar noticias
> > Abraços
>
> > 2009/10/22 PaulMan <[email protected]>
>
> >> Referia-me à versão completa tipo 3.4.**.**** ,
> >> Bem, vou tentar actualizar o SDK!! ,
> >> amanhã volto com novidades.
> >> Fiquem bem!
>
> >> On 22 Out, 17:58, Miguel Vaz <[email protected]> wrote:
> >> > Disse num email anterior. Compilei com 3.4.
>
> >> > Entretanto compilei com 3.2 e 3.3 e sempre funciona.
>
> >> > O meu flash player é o 10,0,32,18. Embora duvide que seja disso.
>
> >> > MV
>
> >> > 2009/10/22 PaulMan <[email protected]>
>
> >> > > Pois...
> >> > > Qual é a versão do SDK que tens Miguel?
--~--~---------~--~----~------------~-------~--~----~
Recebeu esta mensagem porque está inscrito em Grupo "Mailing List da Comunidade 
Portuguesa de Rich Internet Applications - www.riapt.org" do Grupos Google.
 Para enviar mensagens para este grupo, envie um email para 
[email protected]
 Para anular a inscrição neste grupo, envie um email para 
[email protected]
 Para mais opções, visite este grupo em 
http://groups.google.com/group/riapt?hl=pt-PT
-~----------~----~----~----~------~----~------~--~---

Responder a