E aí João, conseguiu? []s Fabio
On 2/5/07, Henrique <[EMAIL PROTECTED]> wrote: > 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]> 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" > > 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] *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]> > [mailto:[EMAIL PROTECTED] On Behalf > > Of João Saleiro > > Sent: domingo, 4 de fevereiro de 2007 14:00 > > To: [email protected] > > <mailto:[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]> > [mailto:[EMAIL PROTECTED] *On > > Behalf Of *João Saleiro > > *Sent:* domingo, 4 de fevereiro de 2007 12:38 > > *To:* [email protected] > > <mailto:[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> > > 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 -~----------~----~----~----~------~----~------~--~---
