João, Sei bem que não posso simplesmente mudar de ANE para SWC. Na realidade uma ANE é um SWC + Código Nativo e mudar para SWC, irá dar uma interpretação diferente do ficheiro mas neste caso foi para fim de testes para perceber se um SWC seria embebido correctamente e expor as classes AS3 (uma ANE é AS3 + código nativo).
A conclusão que cheguei (e como não tinha tido a necessidade anteriormente não sabia), é que só podemos usar ANEs em projectos do tipo Flex Desktop e Flex Mobile (por agora apenas Android) e não em libraries e um worker funciona (mais ou menos) como uma library que é executada em paralelo e que pode partilhar dados (através de shared properties) e comunicar através de um canal para notificações. Talvez possa não se muito útil ter suporte a executar código de uma ANE em libraries mas faz todo o sentido em worker, no sentido que para o programador um worker é um pedaço da aplicação principal a executar em paralelo (como threads). Vou ter de recorrer a código nativo para fazer o que queria com este segundo tipo de worker :P Tudo se resolve :) Cumps, Hugo. No dia 21 de Outubro de 2013 às 15:37, João Fernandes < [email protected]> escreveu: > Hugo, não podes mudar de ane para swc pois nesse caso o compilar ignora > tudo o que seja a native code como já podeste reparar. Se o código parece > não estar disponível no worker compilado, valida o seguinte: > 1) tens alguma referência no worker (var x:YourClassType) das tuas classes > existentes no ANE. > 2) valida se não estas a tentar usar uma API não disponível num worker. > > > 2013/10/20 Hugo Ferreira <[email protected]> > >> Alterei a extensão da minha ANE para SWC e o binário do worker >> incrementou ligeiramente o seu tamanho (agora já tem incluído o SWC) e a >> parte do código AS da ANE já correu naturalmente no entanto depois obtive o >> erro: >> >> Error: Error #3731: This feature is not available within this context. >> >> at flash.external::ExtensionContext$/_createExtensionContext() >> >> at flash.external::ExtensionContext$/createExtensionContext() >> >> Isto naturalmente porque o código nativo não pode ser executado. ANEs só >> em Aplicações Desktop/Android/futuramente iOS e não em libraries AS como é >> um worker :( >> >> >> No dia 20 de Outubro de 2013 às 15:04, Hugo Ferreira < >> [email protected]> escreveu: >> >> Boa tarde pessoal, >>> >>> >>> Começei a usar workers em ambiente Android e as necessidades são de 2 >>> workers. >>> >>> O primeiro é activado, executa o seu código em background (com sqlite e >>> pouco mais e sem nenhuma referência à instância base, obtendo assim o >>> ficheiro mais pequeno possível), informa a instância principal, esta lê os >>> dados processados, encerra o worker e inicia outro worker de outro tipo. >>> Até aqui tudo bem. Funciona 5 *. >>> >>> O segundo worker faz uso de uma ANE que desenvolvi e é aqui que ocorre o >>> problema. Como sabem, o swf compilado para o worker, contem (e convém que >>> seja) apenas o seu próprio código (no primeiro caso 6 KB e no segundo caso >>> menos de 200 KB) e quando referenciamos código proveniente de uma ANE, em >>> compile-time não temos problemas como é natural pois o ambiente de >>> desenvolvimento não sabe que aquele código vai correr no worker mas em >>> runtime vão ter problemas, uma vez que a classe está contido na ANE e não >>> no SWF do worker. >>> >>> Já fiz de tudo para tentar que o conteúdo da ANE estive-se disponível no >>> SWF do worker mas em vão, até tentar carregar a ANE (que na realidade é um >>> SWC) em runtime e a partir dai instanciar as classes necessárias. >>> >>> Na NET não encontrei nada e isto como é algo muito recente, ainda não >>> existem muitos programadores a usarem :( >>> >>> >>> Alguma dica ? >>> >> >> -- >> Recebeu esta mensagem porque está inscrito no grupo "Mailing List da >> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" dos >> Grupos do Google. >> >> Para anular a subscrição deste grupo e parar de receber emails deste >> grupo, envie um email para [email protected]. >> Para publicar uma mensagem neste grupo, envie um e-mail para >> [email protected]. >> Visite este grupo em http://groups.google.com/group/riapt. >> Para mais opções, consulte https://groups.google.com/groups/opt_out. >> > > > > -- > > João Fernandes > > -- > Recebeu esta mensagem porque está inscrito no grupo "Mailing List da > Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" dos > Grupos do Google. > > Para anular a subscrição deste grupo e parar de receber emails deste > grupo, envie um email para [email protected]. > Para publicar uma mensagem neste grupo, envie um e-mail para > [email protected]. > Visite este grupo em http://groups.google.com/group/riapt. > Para mais opções, consulte https://groups.google.com/groups/opt_out. > -- Recebeu esta mensagem porque está inscrito no grupo "Mailing List da Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" dos Grupos do Google. Para anular a subscrição deste grupo e parar de receber emails deste grupo, envie um email para [email protected]. Para publicar uma mensagem neste grupo, envie um e-mail para [email protected]. Visite este grupo em http://groups.google.com/group/riapt. Para mais opções, consulte https://groups.google.com/groups/opt_out.
