Boas, Já resolvi o meu problema e para o caso de alguém também vir a ter o mesmo problema (apesar de ser tão específico), poderá ter aqui uma referência, uma vez que não encontrei nada relacionado na net.
Na minha framework, eu estava a invocar o remote object da seguinte maneira: if (arguments.length > 0) remoteObject[service].arguments = arguments; return remoteObject[service].send(); arguments é um array de parâmetros. Isto está a funcionar há anos ! Acontece que existe um bug (a meu ver) na classe mx.rpc.remoting.Operation pois o método send, invoca a função convertParametersHandler com os parâmetros opcionais recebidos como parâmetro e mais à frente verifica se não recebeu parâmetros mas foi preenchido directamente a variável arguments, passando a usar o arguments no lugar do parâmetro. Um desenho muito mal feito (eventualmente para manter a compatibilidade com algo do passado). A solução é passar a enviar os argumentos no send e a função já vai devolver os dados para manipular. Cumps, Hugo. No dia 8 de Março de 2014 às 16:52, Hugo Ferreira <[email protected]>escreveu: > Por alguma razão (parâmetro no compilador por exemplo) a mim surge o erro > quando faço Date:Date no entanto como workaround passei a deixar como > Date:* e os problemas de compilação desapareceram. > > Passei a usar convertResultHandler no remote object e funciona > impecavelmente. Capturo os resultados e faço todos os tratamentos de dados > que pretendo. > > No entanto comigo a função oposta convertParametersHandler (para fazer o > tratamento no envio) não funciona bem, ou seja, o seu único parâmetro que é > o array de dados vem sempre vazio ! > > > Cumps, > Hugo. > > > No dia 7 de Março de 2014 às 20:44, Hugo Ferreira > <[email protected]>escreveu: > > Depois de remover os erros (retirar os getters), o Date:Date, passou a dar >> erro. >> >> Estou a usar Fb 4.7 e Flex 4.11. >> >> Testei num projecto de testes isolado e foi o mesmo. >> >> Enviado do meu Galaxy Tab 2 >> Em 07/03/2014 15:30, "Hugo Ferreira" <[email protected]> escreveu: >> >> João, >>> >>> Muito obrigado. Esta é a solução. Não só vai resolver o meu problema >>> como vai evitar o uso destes getters que não gosto muito e como vai retirar >>> o trabalho extra dos bindings. >>> >>> Vou implementar isto na minha framework para lidar de forma automático. >>> >>> Gracias. >>> >>> >>> No dia 7 de Março de 2014 às 15:23, João Fernandes < >>> [email protected]> escreveu: >>> >>>> Hugo errado, podes muito bem fazer na resposta do servidor para >>>> efectuar o dito trabalho. >>>> >>>> Implementei na nossa app exactamente esse trabalho na função >>>> http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/rpc/remoting/RemoteObject.html#convertResultHandlere >>>> http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/rpc/remoting/RemoteObject.html#convertParametersHandlerpara >>>> lidar exactamente com o tratamento de informação na receção ou envio >>>> de dados para o backend. No nosso caso foi para o ajuste automático dos >>>> objectos Date para acertar os valores por causa dos fusos horários. >>>> >>>> Só temos o código num único sitio que trata da informação e acaba por >>>> ser mais leve pois o processo só ocorre 1x, ao receber e ao enviar os dados >>>> enquanto que se fizesse no getter, se tivesse que fazer bindings à >>>> propriedade, o código seria executado para cada binding existente o que >>>> torna um processo mais "pesado". >>>> >>>> >>>> >>>> >>>> 2014-03-07 14:38 GMT+00:00 Hugo Ferreira <[email protected]>: >>>> >>>>> Miguel, >>>>> >>>>> >>>>> As queries são feitas a nível do backend e este é responsável por >>>>> lidar com qualquer conflito de nomes entre motores de BDs e funciona >>>>> impecavelmente, inclusivé palavras reservadas. >>>>> Os dados são devolvidos em AMF, sendo que os campos data (são sempre >>>>> especíais entre BDs), são devolvidos no formato caracter pelo backend. >>>>> >>>>> Do lado do frontend uso getter/setter para trabalhar directamente com >>>>> o tipo de dados Date. >>>>> >>>>> Posso sempre fazer coisas como não ter este getter no model e >>>>> trabalhar o valor fora dele mas é algo que me vai obrigar a repetir esse >>>>> código, o que não quero. >>>>> >>>>> >>>>> >>>>> >>>>> No dia 7 de Março de 2014 às 13:21, Miguel Vaz >>>>> <[email protected]>escreveu: >>>>> >>>>> Já é mais alguma coisa, hugo. :-) >>>>>> >>>>>> Os queries são feitos do teu lado? Se sim, podes mascarar (alias) os >>>>>> field names, independentemente do nome original. É básico e certamente já >>>>>> consideraste isso, tanto que imagino que não te resolva o problema. >>>>>> Estou a >>>>>> assumir que queres criar um VO e atribuir facilmente os dados, sem >>>>>> reatribuições. >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> 2014-03-07 13:15 GMT+00:00 Hugo Ferreira <[email protected]>: >>>>>> >>>>>> Miguel: Eu percebi. No entanto como indicado é uma propriedade de uma >>>>>>> classe (tal como o João mostrou) e queria que nos abstraímos da origem >>>>>>> dos >>>>>>> dados. Neste caso é um webservice e por detrás deste 2 bds possíveis >>>>>>> (sql >>>>>>> server e mysql) mas lá está é irrelevante para o caso. Se é possível >>>>>>> alterar na origem com uma série de implicações, é (podia não ser) mas lá >>>>>>> está como indiquei no primeiro e-mail, esse será o último cenário. >>>>>>> >>>>>>> João: É verdade. Não há qualquer com a criação de uma propriedade em >>>>>>> si. O problema está num getter. >>>>>>> >>>>>>> >>>>>>> public class MyCustomClass >>>>>>> >>>>>>> { >>>>>>> >>>>>>> public var Date:*; >>>>>>> >>>>>>> [Transient] >>>>>>> >>>>>>> public function get dateAS():Date >>>>>>> >>>>>>> { >>>>>>> >>>>>>> return Dates.toDate(Date); >>>>>>> >>>>>>> } >>>>>>> >>>>>>> >>>>>>> É usado * porque a origem dos dados não é DateTime e pode vir de uma >>>>>>> BD SQL Server ou MySQL, etc ... >>>>>>> >>>>>>> O problema acontece no dateAS():Date. >>>>>>> >>>>>>> >>>>>>> Obrigado desde já, >>>>>>> Hugo. >>>>>>> >>>>>>> >>>>>>> No dia 7 de Março de 2014 às 10:20, João Fernandes < >>>>>>> [email protected]> escreveu: >>>>>>> >>>>>>> Hugo tens a certeza que não podes criar >>>>>>>> >>>>>>>> public class CustomClass >>>>>>>> { >>>>>>>> public function CustomClass >>>>>>>> { >>>>>>>> } >>>>>>>> public var Date:Date; >>>>>>>> } >>>>>>>> >>>>>>>> Acabei de adicionar esta variável a um VO meu e compilou sem >>>>>>>> qualquer problema. >>>>>>>> >>>>>>>> >>>>>>>> 2014-03-07 10:18 GMT+00:00 Miguel Vaz <[email protected]>: >>>>>>>> >>>>>>>> Hugo: A minha pergunta não estava envolvida em teorias sobre se >>>>>>>>> devias ou não utilizar palavras reservadas, mas era relativa ao teu >>>>>>>>> problema específico, se está/vem em um xml, se vem de uma bd, etc. >>>>>>>>> para que >>>>>>>>> pudesse tentar ajudar a encontrar uma alternativa para contornar a >>>>>>>>> limitação. >>>>>>>>> >>>>>>>>> >>>>>>>>> 2014-03-07 10:07 GMT+00:00 Hugo Ferreira <[email protected]>: >>>>>>>>> >>>>>>>>> Bom dia, >>>>>>>>>> >>>>>>>>>> Miguel: Não me leves a mal, mas a questão não é se devia de usar >>>>>>>>>> mas sim como usar. Devemos evitar o uso de palavras reservadas quando >>>>>>>>>> possível (embora eu não concorde pois se o campo ou classe é Date, >>>>>>>>>> porque é >>>>>>>>>> que devo inventar um nome que retira o significado do classe ou >>>>>>>>>> propriedade). Posso te arranjar mil e uma razões para o uso de >>>>>>>>>> palavras >>>>>>>>>> reservadas como a integração com outro sistema que usa essa variável >>>>>>>>>> mas >>>>>>>>>> não quero disperçar a razão deste e-mail. >>>>>>>>>> >>>>>>>>>> APintex: Obrigado. Não encontrei na net como fazer o escape de >>>>>>>>>> situações como esta e não me importo de andar com escape atrás >>>>>>>>>> porque temos >>>>>>>>>> de mesmo de distinguir o que é código nosso da framework. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> No dia 7 de Março de 2014 às 10:03, APintex Gmail < >>>>>>>>>> [email protected]> escreveu: >>>>>>>>>> >>>>>>>>>> Bom dia Hugo, >>>>>>>>>>> >>>>>>>>>>> Tive um problema parecido na importação de um xml, o qual tinha >>>>>>>>>>> um elemento com o nome 'country-code'. >>>>>>>>>>> No itemRenderer que utiliza esse informação, ainda consegui com >>>>>>>>>>> data.['country-code'], mas utilizando data.country-code dava erro na >>>>>>>>>>> designação 'code'. >>>>>>>>>>> Não consegui outra forma, depois de perder um dia, alterei para >>>>>>>>>>> 'countrycode' e ponto final. Mais tarde investigo. >>>>>>>>>>> António Pinto >>>>>>>>>>> >>>>>>>>>>> No dia 07/03/2014, às 09:48, Hugo Ferreira < >>>>>>>>>>> [email protected]> escreveu: >>>>>>>>>>> >>>>>>>>>>> Bom dia, >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Necessito de criar um campo com o nome "Date" numa classe AS3. >>>>>>>>>>> Sendo uma palavra reservada para o tipo de dados de data, como é >>>>>>>>>>> que posso >>>>>>>>>>> contornar este problema. Alterar o nome Date não está nos meus >>>>>>>>>>> planos e >>>>>>>>>>> será o último dos últimos recursos. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Obrigado, >>>>>>>>>>> Hugo. >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Recebeu esta mensagem porque subscreveu ao grupo "Mailing List >>>>>>>>>>> da Comunidade Portuguesa de Rich Internet Applications - >>>>>>>>>>> www.riapt.org" do Grupos do Google. >>>>>>>>>>> Para anular a subscrição deste grupo e parar de receber emails >>>>>>>>>>> do mesmo, envie um email para [email protected] >>>>>>>>>>> . >>>>>>>>>>> Para publicar neste grupo, envie um email para >>>>>>>>>>> [email protected]. >>>>>>>>>>> Visite este grupo em http://groups.google.com/group/riapt. >>>>>>>>>>> Para obter mais opções, visite >>>>>>>>>>> https://groups.google.com/d/optout. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Recebeu esta mensagem porque subscreveu ao grupo "Mailing List >>>>>>>>>>> da Comunidade Portuguesa de Rich Internet Applications - >>>>>>>>>>> www.riapt.org" do Grupos do Google. >>>>>>>>>>> Para anular a subscrição deste grupo e parar de receber emails >>>>>>>>>>> do mesmo, envie um email para [email protected] >>>>>>>>>>> . >>>>>>>>>>> Para publicar neste grupo, envie um email para >>>>>>>>>>> [email protected]. >>>>>>>>>>> Visite este grupo em http://groups.google.com/group/riapt. >>>>>>>>>>> Para obter mais opções, visite >>>>>>>>>>> https://groups.google.com/d/optout. >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da >>>>>>>>>> Comunidade Portuguesa de Rich Internet Applications - >>>>>>>>>> www.riapt.org" do Grupos do Google. >>>>>>>>>> Para anular a subscrição deste grupo e parar de receber emails do >>>>>>>>>> mesmo, envie um email para [email protected]. >>>>>>>>>> Para publicar neste grupo, envie um email para >>>>>>>>>> [email protected]. >>>>>>>>>> Visite este grupo em http://groups.google.com/group/riapt. >>>>>>>>>> Para obter mais opções, visite https://groups.google.com/d/optout >>>>>>>>>> . >>>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da >>>>>>>>> Comunidade Portuguesa de Rich Internet Applications - >>>>>>>>> www.riapt.org" do Grupos do Google. >>>>>>>>> Para anular a subscrição deste grupo e parar de receber emails do >>>>>>>>> mesmo, envie um email para [email protected]. >>>>>>>>> Para publicar neste grupo, envie um email para >>>>>>>>> [email protected]. >>>>>>>>> Visite este grupo em http://groups.google.com/group/riapt. >>>>>>>>> Para obter mais opções, visite https://groups.google.com/d/optout. >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> >>>>>>>> João Fernandes >>>>>>>> >>>>>>>> -- >>>>>>>> Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da >>>>>>>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" >>>>>>>> do Grupos do Google. >>>>>>>> Para anular a subscrição deste grupo e parar de receber emails do >>>>>>>> mesmo, envie um email para [email protected]. >>>>>>>> Para publicar neste grupo, envie um email para >>>>>>>> [email protected]. >>>>>>>> Visite este grupo em http://groups.google.com/group/riapt. >>>>>>>> Para obter mais opções, visite https://groups.google.com/d/optout. >>>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da >>>>>>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" >>>>>>> do Grupos do Google. >>>>>>> Para anular a subscrição deste grupo e parar de receber emails do >>>>>>> mesmo, envie um email para [email protected]. >>>>>>> Para publicar neste grupo, envie um email para >>>>>>> [email protected]. >>>>>>> Visite este grupo em http://groups.google.com/group/riapt. >>>>>>> Para obter mais opções, visite https://groups.google.com/d/optout. >>>>>>> >>>>>> >>>>>> -- >>>>>> Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da >>>>>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" >>>>>> do Grupos do Google. >>>>>> Para anular a subscrição deste grupo e parar de receber emails do >>>>>> mesmo, envie um email para [email protected]. >>>>>> Para publicar neste grupo, envie um email para [email protected] >>>>>> . >>>>>> Visite este grupo em http://groups.google.com/group/riapt. >>>>>> Para obter mais opções, visite https://groups.google.com/d/optout. >>>>>> >>>>> >>>>> -- >>>>> Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da >>>>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" >>>>> do Grupos do Google. >>>>> Para anular a subscrição deste grupo e parar de receber emails do >>>>> mesmo, envie um email para [email protected]. >>>>> Para publicar neste grupo, envie um email para [email protected]. >>>>> Visite este grupo em http://groups.google.com/group/riapt. >>>>> Para obter mais opções, visite https://groups.google.com/d/optout. >>>>> >>>> >>>> >>>> >>>> -- >>>> >>>> João Fernandes >>>> >>>> -- >>>> Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da >>>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" >>>> do Grupos do Google. >>>> Para anular a subscrição deste grupo e parar de receber emails do >>>> mesmo, envie um email para [email protected]. >>>> Para publicar neste grupo, envie um email para [email protected]. >>>> Visite este grupo em http://groups.google.com/group/riapt. >>>> Para obter mais opções, visite https://groups.google.com/d/optout. >>>> >>> >>> > -- 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/d/optout.
