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/3e3560b89b686ced
> /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