Comunidad de diseño web y desarrollo en internet online

Ayuda XML en FLEX

Citar            
MensajeEscrito el 10 Jun 2010 08:41 pm
Buenos dias, es la primera vez que pregunto en el foro , espero que me puedan ayudar con mi problema.

Lo que pasa es que estoy haciendo una aplicación en Flex 3 con AMFPHP en el cual todo funciona perfectamente, el problema que se me presenta que en la direccion del servidor donde esta el el gateway del AMFPHP se quema dentro de RemoteObject como por ejemplo endpoint="http://localhost/miservirdorAMFPHP/gateway.php", este siempre queda hay, si lo ejecuto en una maquina que esta en red con el servidor de aplicaciones no me va a encontrar la ruta del Objeto Remoto, Ahora yo podria hacer este valor dinamico por un archivo Xml para parametrizarlo, el problema y por el cual pregunto en este foro es que si yo creo un archivo .xml y luego lo cargo con <mx:XML id="myXML" source="archivo.xml" /> y compilo los datos parece que quedaran embebidos en el swf, como hago yo para q no queden embebidos si no que me los lea del archivo xml siempre, cosa que si yo cambio el archivo me lea los datos nuevos, muchas gracias por la ayuda.


:oops:

Por tumyeto

11 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Jun 2010 12:46 am
lo que haces es crear urloader el cual puede utilizar el urlrequest y en ello colocar la ruta de tu xml
luego tienes dos opciones crear el addevenlisterner para el loder o cargarlo directamente te recomiendo
que revices el urlloader

Por xcom

Claber

530 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Jun 2010 01:33 pm
Aqui tienes un ejemplo que puedes adaptar deberias llamar a la funcion initializeHandler() y cambiar dinamicamente el nombre del xml cada vez que quisieras cargarlo y si fuese recargar el mismo xml siempre lo que aria ademas es cambiar la siguiente linea

Código ActionScript :

 
var uri:URLRequest = new URLRequest("anexos/new.xml");

por algo parecido a esto

Código ActionScript :

 
var uri:URLRequest = new URLRequest("anexos/new.xml?nocache="+Math.random()*9999);

Código Flex :

  
<?xml version="1.0"?>
<!-- dpcontrols/TreeEvents.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" initialize = "initializeHandler();" creationComplete = "creationCompleteHandler(event);" color="#000000" width="198" height="424" backgroundAlpha="0" backgroundColor="#704E4E" horizontalScrollPolicy="off" verticalScrollPolicy="off">
   <mx:Script>
      <![CDATA[
         import flash.events.*;
         import mx.events.*;
         import mx.controls.*;
         import flash.events.Event;
         import flash.net.URLLoader;
         import flash.net.URLRequest;
        [Bindable]
        private var xmlLoader:URLLoader;
        [Bindable]
        private var myDataObject:Object;
        [Bindable]
        public var selectedNode:XML;
        [Bindable]
        public var selectInfo:String;
        [Bindable]
        public var selectData:String;
        [Bindable]
        public var selectLabel:String;
        [Bindable]
        public var selectItem:String;
        
        public function initializeHandler():void {
           xmlLoader = new URLLoader();
            xmlLoader.addEventListener(Event.COMPLETE, completeHandler);
                        var uri:URLRequest = new URLRequest("anexos/new.xml");
                        xmlLoader.load(uri);
                   }
        private function completeHandler(event:Event):void {
                //trace( xmlLoader.data );
                myDataObject = xmlLoader.data;
            }
        private function creationCompleteHandler(event:Event):void {
          myDataObject = xmlLoader.data;
          }   
       private function changeEvt(event:Event):void {
            if (event.currentTarget.selectedItem.@label) {
              selectItem = event.currentTarget.selectedItem.@label;
              selectData = event.currentTarget.selectedItem.@Data;
              selectLabel = event.currentTarget.selectedItem.@label;
              selectInfo = event.currentTarget.selectedItem.@info;
            }
         }
         private function horizontalList_itemRollOver(evt:ListEvent):void {
              selectInfo =  evt.itemRenderer.data.@info;
              selectData =  evt.itemRenderer.data.@Data;
              selectLabel =  evt.itemRenderer.data.@label;
             //XMLtree1.enabled = false;
            }
        private function itemOpenEvt(event:TreeEvent):void {
        //forOpen.text = event.item.@label;
      }
     ]]>
   </mx:Script>
<mx:Tree id="XMLtree1" width="198" height="400"
          labelField="@label" 
          dataProvider="{myDataObject}" itemRollOver = "horizontalList_itemRollOver(event as ListEvent);" itemOpen="itemOpenEvt(event);" change="changeEvt(event);"  showRoot="false">
   </mx:Tree>
</mx:Application>

Por giskard

110 de clabLevel



Genero:Masculino  

Programador y diseñador web

msie8
Citar            
MensajeEscrito el 13 Jun 2010 07:35 pm
a todos muchas gracias me sirvió todos los aportes. :D

Por tumyeto

11 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.