Hm... dei uma olhadinha aqui e pude ver o erro acontecendo. Tentei imaginar possíveis causas mas eu teria que debugar e precisar de algum tempo para tentar encontrar uma solução. Se eu conseguir alguma coisa eu te aviso.
[]'s Beck Novaes On 23 out, 16:59, Ricardo Ramires <[EMAIL PROTECTED]> wrote: > Também to me batendo com isso... > > Beck esses tempos atráz vc me passou um link c/ a sua palestra sobre a > criacao de components, ajudou bastante a criar esse itemRenderer para > meu projeto: > > package views > { > import flash.geom.Rectangle; > import mx.core.IDataRenderer; > import mx.core.UIComponent; > import mx.controls.listClasses.IListItemRenderer; > import flash.display.DisplayObjectContainer; > import flash.events.Event; > import mx.managers.ISystemManager; > import flash.display.Sprite; > import flash.display.DisplayObject; > import mx.events.FlexEvent; > import mx.controls.Button; > import mx.containers.HBox; > import mx.controls.Label; > import flash.text.TextField; > > [Event(name="dataChange", type="mx.events.FlexEvent")] > > public class LoaderRenderer extends UIComponent implements > IDataRenderer, IListItemRenderer > { > private var _data : Object = null; > private var imgContainer:Sprite; > private var tamanho_txt:TextField; > > public function LoaderRenderer() > { > super(); > this.width = 160; > this.height = 120; > } > > [Bindable("dataChange")] > public function get data():Object > { > return _data; > } > > public function set data(value:Object):void > { > _data = value; > invalidateProperties(); > dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE)); > } > > override protected function createChildren():void { > > super.createChildren(); > > if(!imgContainer){ > imgContainer = new Sprite(); > imgContainer.x += 2; > addChild(imgContainer); > } > > if(!compContainer){ > var compContainer:HBox = new HBox(); > compContainer.x += 2; > } > > if(!tamanho_txt){ > tamanho_txt = new TextField(); > tamanho_txt.x += 5; > tamanho_txt.selectable = false; > tamanho_txt.textColor = 0xFFFF00; > addChild(tamanho_txt); > } > } > > override protected function commitProperties():void > { > super.commitProperties(); > > if (_data != null) > { > imgContainer.addChild(_data.image); > tamanho_txt.text = _data.tamanho; > } > } > > /* override protected function updateDisplayList(w:Number, > h:Number):void > { > super.updateDisplayList(w, h); > > if (_data != null) > { > imgContainer.addChild(_data.image); > tamanho_txt.text = _data.tamanho; > } > } */ > } > > } > > Mas ele ta tendo uns problemas na renderizacao que faz dias q eu to > mexendo e n consigo solucionar... olhei esses links q vc passou na > documentacao tb, mas n consegui resolver > > Pra entender deve-se utilizar a aplicacao, vc da play no video e > captura algumas miniaturas, depois arrasta elas do tilelist pro list > abaixo (ambos usam o mesmo itemrenderer) e envia pro servidor. > > http://www.rlog.com.br/capture/capture.html ( o codigo fonte est > disponivel c/ o botao direito ) > > Bom tudo ta quase tudo funcionando, mas da uns paus e a imagem some se > vc comecar a arrastar o item e soltar sem completar o drag and drop... > quando mexe na barra de rolagem as imagens voltam a aparecer... > > Tem esses 2 trechos no meu codigo: > > override protected function commitProperties():void > { > super.commitProperties(); > > if (_data != null) > { > imgContainer.addChild(_data.image); > tamanho_txt.text = _data.tamanho; > } > } > > /* override protected function updateDisplayList(w:Number, > h:Number):void > { > super.updateDisplayList(w, h); > > if (_data != null) > { > imgContainer.addChild(_data.image); > tamanho_txt.text = _data.tamanho; > } > } */ > > se eu usar o primeiro (commitProperties) fica como está, se eu > comentar ele e usar o segundo (updateDisplayList) o problema > desaparece, mas so aparece a imagem depois da segunda captura... n sei > mais o que fazer. > > Se puder me dar uma luz agradeco > > [ ] 's > > Ricardo --~--~---------~--~----~------------~-------~--~----~ Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com 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 -~----------~----~----~----~------~----~------~--~---