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