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

Responder a