Ola

Nesse caso acho que o mais simples é você obter a URL que está sendo
acessada e construir o teu endereço.

Ex: hoje sua aplicação roda em http://www.seudominio.com/ e amanhã algum
big-boss sem nada para fazer decide mudar para http://app.seudominio.com/

Se você colocar esse controle de forma dinâmica, sua aplicação não precisa
ser recompilada. Acho uma solução mais simples do que ficar criando
arquivos para externalizar algo que na verdade pode ser mais dinâmico ainda.

O Flex por si só não consegue descobrir em que URL ele está sendo
executado, mas no javascript é baba obter isso. Basta você buscar essa
informação no javascript do teu template, ou adicionar essa informação como
um parametro na hora do html chamar seu .swf.

Abraço

Stefan Horochovec
Engenheiro de Software
Blog: http://www.horochovec.com.br/
Twitter: http://twitter.com/horochovec



Em 11 de junho de 2012 19:03, fabiophx <fabiophx2...@yahoo.com.br> escreveu:

> Rafael
>    Espero q lhe seja útil:
> http://fabiophx.blogspot.com.br/2012/06/endpoint-so-com-o-contexto.html
>
> []s
> Fabio da Silva
> http://fabiophx.blogspot.com.br/
>
> On Jun 11, 1:51 pm, RafaelViana <rfl.vi...@gmail.com> wrote:
> > 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
>

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