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

