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

Responder a