Preciso deixar uma var ou const para que seu valor não seja alterado.
O mais adequado seria usar const, mas não consigo setar o valor depois
dela declarada,
tentei fazer assim:
[Bindable]
public var objeto:Object;
public const original:Object = objeto;
Mas "original" fica vazia, testei com var, mas acontece o mesmo,
por isso criei o "addedHandler".
Tentei clonar o objeto com várias funções que achei na internet,
mas não adianta porque o objeto é bindable, então o clonado é
modificado tbm.
Existe alguma forma de forçar a alteração de uma const?
ou alguém tem uma idéia melhor?

Vejam o codigo:

== JanelaCompleta.mxml (componente MXML) =====

// Recebe os dados, preenche o formulário
// se alterar o formulário, o objeto tbm é alterado
[Bindable]
public var objeto:Object;

// Objecto para manter os dados antes das alterações
public const original:Object = new Object();

// Função para o evento Added
protected function addedHandler(event:Event):void {
    original = objeto; // Dá pau, pq "original" é uma constant
}

protected function cancelaAlteracao(){
    objeto = original; // Para retornar o objeto original
}

====================
== Main.mxml =========

protected function abrirNovaJanela():void {
    var janela:JanelaCompleta = new JanelaCompleta();
    janela.objeto = {id:,nome,apelido};
    addChild(janela);
}

====================

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
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