Ajuda com SharedObject / Remote Object

Aqui você tira duvidas e debate sobre o Flash Media Server

Ajuda com SharedObject / Remote Object

Mensagempor vinicolas » Qua 16 Jun, 2010 5:12 pm

Bom glr eu gostaria de enternder o functionamento dos sharedibjects da vido no FMS pois relamente não sei como fazer.. seguinte...

Estou usando o flex para criar uma simples aplicação tipo.. a lista dos usuarios num chat baseado FMS..

Sou novo em tudo em relação a SO FLEX e FMS... (bom mais ou menos)...

Bom tenho já lí bastante a documentação da adobe mas por mais que eu tente não consigo remover o nome do usuario da lista de usarios no ficticio chat..

Seguinte meu raciocínio é o seguinte a cada mudança de esta do SO é disparado um evento do tipo SYNC então teoricamente ja podeira deletar ele do cat..

tipo fazendo um if.. dentro de um for
if event.changeList.code == "delete".
remover ele do mx:list.. mas num vai nem com reza braba.. segue meu codigo...
Ah.. não gostaria que me respondessem apenas com faça isso... e me desse o codigo..
Gostaria se possivel me explicassem os passos e q cada parte faz..
Para que eu possa poder entender e saber quando e como fazer...
[]'s Códigos abaixo..


Código: Selecionar tudo
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
            layout="absolute" minWidth="955"
            minHeight="600" width="367"
            height="324" creationComplete="init()"
            >
   
   <mx:Script>
      <![CDATA[
         import mx.collections.ArrayCollection;
         
         private var nc:NetConnection;
         private var uSo:SharedObject;
         
         [Bindable]
         private var usuarios:ArrayCollection = new ArrayCollection();
         
         [Bindable]
         private var objUsuarios:Object = new Object();
         
         private var cod:String;
         
         private function init():void{
            nc = new NetConnection();
            nc.objectEncoding = 0;
            nc.addEventListener(NetStatusEvent.NET_STATUS, status);
            nc.connect("rtmp://localhost/us");         
         }
         
         private function status(event:NetStatusEvent):void{
            cod = event.info.code;      
            trace(cod);
   
            if(cod == "NetConnection.Connect.Success"){
               uSo = SharedObject.getRemote("lista", nc.uri, false);
               uSo.addEventListener(SyncEvent.SYNC, sincronizar);
               uSo.connect(nc);
               uSo.client = this;
            }
         }
         
         private function sincronizar(event:SyncEvent):void{
            for (var u:String in event.target.data){
               if(!objUsuarios[u]){
                  objUsuarios[u] = event.target.data[u];
                  usuarios.addItem({id:u, nome: event.target.data[u]});
               }
            }
            
            // parte que eu nao consigo resolver..
            for(var x:String in event.changeList){
               if(event.changeList[x].code == "delete"){
                  delete usuarios.[event.changeList[x].name];
               }
            }
         }
         
         private function conecta():void{
            var t:Date = new Date();
            var s:String = t.getUTCFullYear()+""+t.getMilliseconds();
            
            uSo.setProperty(s, txtApelido.text);
         }
         
      ]]>
   </mx:Script>   
   
   <mx:Button x="246" y="25" label="Entrar" id="btEntrar" click="conecta()"/>
   <mx:TextInput x="56" y="25" id="txtApelido"/>
   <mx:List labelField="nome" x="56" y="55" width="255" height="246" id="listaUsers" dataProvider="{usuarios}"/>
   
</mx:Application>


Ah outra coisa fiquei na duvida se postava no forum de RIA ou FMS ou AS3.. Desculpem ae se postei no lugar errado..
vinicolas
FM Team 1
FM Team 1
 
Mensagens: 1
Data de registro: Qua 16 Jun, 2010 4:44 pm

Retornar para Flash Media Server

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 1 visitante