João, Estou realmente surpreso com o erro. Não vejo o motivo para isso..... Vejo que você está utilizando [RemoteClass] para mapear uma classe JAVA. Você já verificou, na chegada do command, se sua Collection possui VOs que vc declarou?. Pergunto isso pois se tiver algum erro na declaração do [RemoteClass] chegará uma collection de Objects, dando o problema.... Caso vc esteja declarando certo e mesmo assim esteja vindo Object, verifique se existe algum link para a sua classe VO, para que o compilador crie uma referência e assim consiga transformar uma classe JAVA em AS.
Se vc ainda não tentou isso.... vale a pena tentar! []s, Henrique F. Marino On 2/5/07, João Saleiro <[EMAIL PROTECTED]> wrote: > > Encontrei isto no flexcoders: > > http://www.mail-archive.com/[email protected]/msg48635.html > > tentei usar, e nada... > Segundo eles, parece que este erro era mesmo um quebra-cabeças. > Só que para mim, a solução apresentada não funcionou. Amanhã vejo isto. :) > Obrigado a todos! > > João Saleiro > > João Saleiro wrote: > > Frustrante... também não resultou! > Desespero... :) > Valeu a ajuda! > > []'s > > João Saleiro > > Beck Novaes wrote: > > > Olá João, > > Você já tentou fazer no CabecalhoGenerico o seguinte: > > <mx:Label > text="{ CabecalhoDeNoticiaVO(data).titulo }" > fontFamily="Arial" > fontSize="10" > color="0xf2890c" > fontWeight="bold" > /> > > []'s > Beck Novaes > > > On 4 fev, 16:35, João Saleiro <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> wrote: > > > > Obrigado pela sua disponibilidade Henrique! > > Ok, esta é a coisa estranha... Está como bindable... > Não estou mesmo a encontrar a solução... > > O código do meu VO: > > package pt.webfuel.onfashion.vo > { > import com.adobe.cairngorm.vo.IValueObject; > > [Bindable] > [RemoteClass(alias="pt.webfuel.onfashion.vo.CabecalhoDeNoticiaVO")] > public class CabecalhoDeNoticiaVO implements IValueObject { > > public var id:Number; > public var data_insercao:Date; > public var titulo:String; > public var resumo:String; > public var foto_destaque:RecursoMultimediaVO; > > } > } > > =========================================== > > Dentro do Command: > > public function result (event: Object) : void > { > var result:Object=event.result; > > var model:GlobalModelLocator=GlobalModelLocator.getInstance(); > > var lista: ArrayCollection=new ArrayCollection(result as Array); > var > listaDeCabecalhosDeNoticiasEmDestaque:ICollectionView=ICollectionView(lista);model.listaDeCabecalhosDeNoticiasEmDestaque= > listaDeCabecalhosDeNoticiasEmDestaque; > > } > > =========================================== > > O modelLocator tem Bindable ao nível da classe: > > [Bindable] > public class GlobalModelLocator implements ModelLocator > > e o possui a seguinte varíavel pública: > > public var listaDeCabecalhosDeDicasEmDestaque: ICollectionView; > > =========================================== > O código que cria o componente que lista as notícias: > > <pods:NoticiasEmDestaque > id="noticiasEmDestaque" > width="369" > height="294" > x="199" > y="{modeloEmDestaque.y}" > listaDeNoticias="{model.listaDeCabecalhosDeNoticiasEmDestaque}" > /> > > =========================================== > O componente que lista as notícias possui: > > [Bindable] > public var listaDeNoticias:ICollectionView; > > e > > <mx:TileList > x="14" > y="59" > width="320" > height="190" > dataProvider="{ listaDeNoticias }" > itemRenderer="pt.webfuel.onfashion.view.ui.CabecalhoGenerico" > columnWidth="290" > rowHeight="78" > backgroundColor="0xFF0000" > backgroundAlpha="0" > borderStyle="none" > rollOverColor="0xf5ebdf" > selectionColor="0xf5ebdf" > /> > > =========================================== > E para terminar, o CabecalhoGenerico tem o seguinte código: > <mx:Canvas > xmlns:mx="http://www.adobe.com/2006/mxml" <http://www.adobe.com/2006/mxml> > width="100%" > height="100%" > verticalScrollPolicy="off" > horizontalScrollPolicy="off" > > > <mx:Label > text="{ data.titulo }" > fontFamily="Arial" > fontSize="10" > color="0xf2890c" > fontWeight="bold" > /> > </mx:Canvas> > > []'s > > João Saleiro > > Henrique wrote: > > > > > Ok João... finalmente consegui replicar o seu erro. > > Verifique que sua Classe (NoticiaVO) esteja declarada como Bindable. > Se vc fizer isso, o erro não ira mais ocorrer. > > []s, > > Henrique > > ------------------------------------------------------------------------ > > *From:* [email protected] [mailto:[email protected] > <[email protected]>] *On > Behalf Of *João Saleiro > *Sent:* domingo, 4 de fevereiro de 2007 17:45 > *To:* [email protected] > *Subject:* [flexdev] Re: warning: unable to bind to property 'titulo' > on class 'Object' (class is not an IEventDispatcher) > > Yeap, 2.01. > O erro só me aparece quando corro em modo de debug. Vou tentar > corrigir esta noite, se não conseguir faço uma descrição bem mais > exaustiva :) > Obrigado na mesma pela tentativa! :D > > João Saleiro > > Henrique wrote: > > João, > > Tentei replicar o seu erro mais não consegui, de toda forma vc pode sim dar > um cast na variável data, que no caso representa um item da sua coleção. > > []s, > > Henrique > > Ps. Vc esta usando a versão 2.01? > > -----Original Message----- > From: [email protected] <mailto:[email protected]> > <[email protected]> [mailto:[email protected] > <[email protected]>] On Behalf > Of João Saleiro > Sent: domingo, 4 de fevereiro de 2007 14:00 > To: [email protected] <mailto:[email protected]> > <[email protected]> > Subject: [flexdev] Re: warning: unable to bind to property 'titulo' on class > 'Object' (class is not an IEventDispatcher) > > Desculpe, esqueci de complementar com: > > [Bindable] > public var listaDeNoticias:ICollectionView; > > no componente onde uso o TileList (o ListagemDeNoticias). > > Em resumo: > > 1- a listaDeNoticias é um ICollectionView gerado a partir de um > ArrayCollection de instâncias de VO's (NoticiaVO); > 2- a listaDeNoticias "está" no componente que vai fazer a listagem > (ListagemDeNoticias) > 3- esse componente possui um Tilelist cujo DataProvider é a listaDeNoticias > 4- esse TileList utiliza o componente Noticia com itemRenderer > 5- o componente Noticia possui uma label com text={data.titulo} > 6- devido a isto é lançado um erro "warning: unable to bind to property > 'titulo' on class 'Object' (class is not an IEventDispatcher)" em debug > mode, erro esse que nao estou a conseguir solucionar. > > Assim sendo, posso na mesma fazer o cast de data.titulo para o VO > respectivo (NoticiaVO)? > > João Saleiro > > Henrique wrote: > > > > Ola João, > > Não sei se entendi bem mais creio que se, no caso da propriedade > /listaDeNoticias/ , que provavelmente é um ArrayCollection, conter uma > coleção de uma classe especifica (ClasseEspecifica) ao invés de uma > coleção de objects, com a classe declarada como Bindable, e vc fizer > um cast de data - ClasseEspecifica(data). titulo, o erro deve parar de > ocorrer. > > Veja o post do Beck Novaes - > > > > http://groups.google.com/group/flexdev/browse_thread/thread/3e3560b89... > /c9a93a7425ad80dc#c9a93a7425ad80dc > > > > []s > > Henrique Marino > > ------------------------------------------------------------------------ > > *From:* [email protected] <mailto:[email protected]> > <[email protected]> [mailto:[email protected] > <[email protected]>] *On > Behalf Of *João Saleiro > *Sent:* domingo, 4 de fevereiro de 2007 12:38 > *To:* [email protected] <mailto:[email protected]> > <[email protected]> > *Subject:* [flexdev] warning: unable to bind to property 'titulo' on > class 'Object' (class is not an IEventDispatcher) > > Olá, > > quando corro o meu programa em debug mode estou a obter o seguinte erro: > > warning: unable to bind to property 'titulo' on class 'Object' (class > is not an IEventDispatcher) > > O erro acontece com este componente: > > <?xml version="1.0" encoding="utf-8"?> > <mx:VBox > xmlns:mx="http://www.adobe.com/2006/mxml" <http://www.adobe.com/2006/mxml> > <http://www.adobe.com/2006/mxml> > <http://www.adobe.com/2006/mxml><http://www.adobe.com/2006/mxml> > <http://www.adobe.com/2006/mxml> > width="100%" > height="100%" opaqueBackground="false"> > <mx:Label > text="{ data.titulo }" > height="20" /> > > <mx:Label > text="safdfadsfad}" > height="20" > /> > </mx:VBox> > > Que é usado como itemRenderer de um TileList neste trecho de código: > > <mx:TileList > x="17" > y="62" > width="310" > height="150" > dataProvider="{ listaDeNoticias }" > itemRenderer="pt.webfuel.onfashion.view.ui.Cabecalho" > columnWidth="290" > rowHeight="75" > backgroundColor="0xFF0000" > backgroundAlpha="0" > borderStyle="none" > /> > > Presumo que neste caso, os dados ("data") quanto são entregues ao > componente acima (ui.Cabecalho), possuem o tipo * . Como fico com > "strict typing" no Cabecalho para a variável data? Simplesmente > declaro uma variavel pública chamada "data" com o tipo certo no > componente? > E isso terá alguma relação com o erro descrito? (warning: unable to > bind to property 'titulo' on class 'Object' (class is not an > IEventDispatcher)) Como resolvo este erro? > > Obrigado, > > João Saleiro > > > > > > > > > > > --~--~---------~--~----~------------~-------~--~----~ Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para [email protected] Para sair da lista, envie um email em branco para [EMAIL PROTECTED] Mais opções estão disponíveis em http://groups.google.com/group/flexdev -~----------~----~----~----~------~----~------~--~---
