No navegador podemos executar um arquivo swf de duas formas, uma é chamando-o diretamente no campo de url, tipo: http://www.myhost.com/MyApp/MyApp.swf ou embutido numa página html como podemos ver no arquivo index.template.html da pasta html-template dos nossos projetos Flex.
Você passa parâmetros no padrão url: swf?parm1=valor1[&parm2=valor2][&parmN=valorN]
Exemplos:
link direto: http://www.myhost.com/MyApp/MyApp.swf?id=1&uf=RS
html-template: AC_FL_RunContent("src", "Teste?id=1&uf=RS", "flashVars", "t=50");
Nota: via html-template você pode usar src e flashVars juntos, mas se um parâmetro aparecer nos dois, valerá o do flashVars.
E agora no lado Flex você os recebe usando a propriedade parameters de Application.
Você passa parâmetros no padrão url: swf?parm1=valor1[&parm2=valor2][&parmN=valorN]
Exemplos:
link direto: http://www.myhost.com/MyApp/MyApp.swf?id=1&uf=RS
html-template: AC_FL_RunContent("src", "Teste?id=1&uf=RS", "flashVars", "t=50");
Nota: via html-template você pode usar src e flashVars juntos, mas se um parâmetro aparecer nos dois, valerá o do flashVars.
E agora no lado Flex você os recebe usando a propriedade parameters de Application.
Se for necessário pegar os parâmetros do Html wrapper uma boa referência é este blog do Erko Bridee:
ResponderExcluirhttp://blog.erkobridee.com/2010/03/27/actionscript3-querystring/
Outro link http://livedocs.adobe.com/flex/3/html/help.html?content=passingarguments_3.html
ResponderExcluirÉ possível pegar o locale através do index.html e passar por parâmetro para a aplicação que é em GWT e utiliza swf, pois é no swf que eu preciso saber o locale do navegador do usuário.
ResponderExcluiratt. Eduardo Cordeiro
Não conheço o GWT, mas se vc tiver como pegar via JS o locale do navegador e depois passar via parâmetro de url para o swf ou via flashVars aí dentro do swf é só pegar via parameters.
ResponderExcluirJá consegui jogar o locale pra url, agora só falta pegar. Vou ver o que eu consigo aqui com a sua dica do parameters da App.
ResponderExcluirValeu ai pela força Fabio.
abraçoss!
Olá Fábio!
ResponderExcluirEstou com um erro em uma aplicação já faz 2 dias, Tenho uma aplicação que acessa um banco de produção através de outro banco via dblink, funcionava tudo bem até três dias atrás, o erro que ocorre é o #2170, tenho crossdomain, as portas estão certas, e não consigo achar o erro, você teria alguma ideia do que seria?
Andressa,
ResponderExcluirPostei a resposta em:
https://groups.google.com/forum/?hl=pt&fromgroups=#!topic/flexdev/gECt28I0Lek
Mas segue abaixo:
ResponderExcluirPor segurança o Flash player não permite acessar dados de outro servidor q não o de onde está hospedado, só é possível se no servidor q será acessado (no root ou no contexto web q está sendo acessado) houver um crossdomain.xml q informe q sua url é permitida.
Alguns links q espero q lhe seja útil:
http://www.igorcosta.com/por-que-da-erro-ao-carregar-um-feed-no-datagrid-do-flex/
http://www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html
http://blog.msdevstudio.net/2008/09/10/tutorial-crossdomainxml-nao-deixe-o-flex-complicar/
Muito obrigado pela resposta, acho que esse é o caso, só que por segurança eu não posso ter acesso ao servidor que a aplicação acessa, então não posso colocar o cross domain lá, mas o que me intriga é ele ter funcionado por um bom tempo, mas falarei com o meu chefe para ele falar com o dba da empresa, porque acredito que o problema seja esse mesmo, muito obrigado mesmo!
ResponderExcluirAndressa,
ResponderExcluirO q vc pode fazer tb é usar o serviço de Proxy do BlazeDS ou solicitar para um serviço java do seu server onde este fará acesso ao servidor q vc precisa.