Já tive este problema com AS2 realmente se você dizer um a variável X = Y.dataProvider quisquer alterações feitas em um vai implicar na mudança do outro, para resolver meu problema recorri a uma típica gambiarra, passei os dados do meu dataProvider manualmente para um outro arrray através de um for
mais ou menos isso: arrayDados = Y.dataProvider; var arrayTeste:Array = new Array(); for(var i =0; i<arrayDados.length; i++){ arrayTeste[i] = arrayDados[i]; } isso resolveu meu problema o arrayTeste ficou totalmente sem referência ao array arrayDados. Em 02/10/07, Rodrigo Pereira Fraga <[EMAIL PROTECTED]> escreveu: > > > Hun... e dalhe Beck Novamente.... > > Kra, depois se vc puder, queria conversar particularmente contigo... > > =) > > ObjectUtil? > Conheço sim! > > até em combinação com o registerClass > > registerClassAlias("mx.chart",LinearAxis); > linearAxis = ObjectUtil.copy(obj) as LinearAxis; > > > Mas o detalhes é que não posso usar, eu preciso do recurso de variavel > como referência. > > > Na verdade não achei um modo melhor de fazer.... da uma olhada no > código: > > > > > > public function preparaTendencia(p_serie:GrafSerieVO, > p_grafico:GrafGraficoVO):LineSeries { > > > var arrayPontos:Array = new Array(); > var curvaTendencia:LineSeries = new LineSeries(); > > > obj.p_pontos = arrayPontos; > obj.p_tpCurva = p_serie.tipoCurvaTendencia; > obj.p_grauPolinomio = p_serie.grauCurvaTendencia; > > ServiceSSD.obterPontosTendencia.addEventListener( > ResultEvent.RESULT, > function(event:ResultEvent):void{ > > var arrayPontosTendencia:ArrayCollection = > event.result.Serie.Pontos; > > curvaTendencia.displayName = 'Curva de Tendencia: > '+p_serie.nmSerie; > curvaTendencia.dataProvider = > arrayPontosTendencia; > curvaTendencia.verticalAxis = p_serie.axis; > } > > ); > > ServiceSSD.getPontosTendencia(obj); > return curvaTendencia; > } > > > Eu não posso fazer cópia (clone), porque Eu ploto o Gráfico com o > arrayPontosTendencia, e quando excuta o callBack, ele popula o Array > automaticamente, gerando o gráfico. > > Só que mesmo eu fazendo var arrayPontosTendencia = new > ArrayCollection(); todos as Series anteriores ficam com os dados da > útilma inserida! > > o.O > > > > > > > > > On 2 out, 14:09, Beck Novaes <[EMAIL PROTECTED]> wrote: > > Bem.. confesso que li um pouco rápido e não entendi muito bem o seu > > problema. Mas você conhece o ObjectUtil.copy()? > > > > Se não, dê uma olhadinha na documentação. Este cara pode te ajudar e > > evitar problemas de referência. > > > > []'s > > Beck Novaes > > > > On 2 out, 11:57, Rodrigo Pereira Fraga <[EMAIL PROTECTED]> wrote: > > > > > > > > > Olá Pessoal, > > > > > Dois impactos que um desenvolvedor encontra ao programar em AS3 > > > (Flex), são os dois detalhes no assunto: > > > Dados Asynchronous e variaveis como Referência em AS3, que por sinal, > > > TUDO É REFERÊNCIA! > > > > > O que acontece, tenho um método que faz uma solicitação a um > > > WebServices, e na função callBack da requisição, populo um array que > > > foi retornado antes de executar o callBack. > > > > > Até aí tudo bem, a função executa, e quando retorna os dados do > > > callBack, o array é populado automaticamente. > > > > > O Problema.... > > > Como este array se propraga dentro de outro array, pra ser exato: > > > > > LineChart.dataProvider = arraySeries { LineSeries.dataProvider = > > > meuArrayCallBack }^n > > > > > E quando vou popular uma nova LineSerie com outros dados do callBack, > > > todos os valores de todas as LineSeries > > > passam ser os mesmos! o.O > > > > > Sendo que toda vez que faço uma solicitação ao WebServices, eu dou > > > um: > > > > > var meuArrayCallBack:Array = new Array(); > > > > > O mais estranho é que não é toda a LineSerie que está por referência, > > > é apenas os dados! > > > > > o.O > > > > > Alguém tem uma idéia do que eu posso fazer? > > > > > Abraços! > > > \o- Ocultar texto entre aspas - > > > > - Mostrar texto entre aspas - > > > > > --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] Mais opções estão disponíveis em http://groups.google.com/group/flexdev -~----------~----~----~----~------~----~------~--~---