Boa Tarde,

Estou com um problema, tenho o endereço do meu servidor em um arquivo
ActionScript (faço a construção do Remote Object manualmente, não uso
o arquivo services-config.xml). Porém, ele ficava embutido junto com o
código compilado do .swf. Mas, isso não me resolve pois quero gerar
somente um build e conforme o cliente que está instalado ele pode
mudar para o I.P que ele quiser. (para indicar onde está o servidor).

Por isso, fiz uma modificação que deixaria o endereço armazenado em um
arquivo .txt e eu leio este endereço na hora que o cliente abre o
aplicativo Flex, em tempo de execução.

Por exemplo:

public class Configuracao
        {
                public static var initialized:Boolean = false;

                private static var request:URLRequest;
                private static var loader:URLLoader;

               private static var _ENDERECO_PUBLICO:String;

                {
                        request = new URLRequest("servidor.text");
                        loader = new URLLoader();
                        loader.dataFormat=URLLoaderDataFormat.VARIABLES;
                        loader.addEventListener(Event.COMPLETE, onComplete);
                        loader.addEventListener(IOErrorEvent.IO_ERROR, onError);
                        loader.load(request);
                }

                public static function onComplete(event:Event):void
                {
                        _ENDERECO_PUBLICO = event.target.data.enderecoPublico;

                        initialized = true;
                }

                public static function get ENDERECO_PUBLICO():String
                {
                        return _ENDERECO_PUBLICO;
                }
}

O arquivo é inicializado no bloco estático apenas na primeira vez que
a classe é inicializada. O problema é se eu tentar chamar o getter
antes do arquivo ter sido aberto por completo.

Ele vai pegar o valor vazio.... O que posso fazer para o método getter
se tornar "consistente"?

Tentei fazer:

while(!initialized)
{
...
}

Para "ocupar" o método enquanto ele não carrega o arquivo e depois
passaria para o return, no entanto, pelo que vi o Flash Player não é
multi-thread então o código ficaria ocupado dentro do while e não
continuaria abrindo o arquivo... mas se não coloco essa verificação o
return é inconsistente.

Abraços!

-- 
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 
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a