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
-~----------~----~----~----~------~----~------~--~---

Responder a