Le he dado muchas vueltas y no tengo ni idea de lo que pasa, así que me he decidido a preguntar (aunque por cierto no me gusta, prefiero solucionarme mis problemas...)
Al grano. Estoy haciendo un Flash que lee de un XML generado con PHP (trabalenguas...) para rellenar un ComboBox. El caso es que cuando lanzo el Flash ¡a veces funciona y otras no funciona!!! Y esto trabajando localmente (es decir, el Flash en mi ordenador y el XML en el Servidor) porque cuando subo el Flash al Servidor no va ni para atrás... la verdad es que es muy raro y por eso me he decidido a preguntar.
Este es el archivo php que genera el XML, muestra por pantalla pero también graba un fichero; el flash lee del fichero (también he probado de la otra forma y nada...):
(**** Lo siento no me deja meter los enlaces (cuando haga 30 posts... ) ****)
(Hay que poner lo de ver código fuente para ver el XML...)
El flash se puede ver aquí (pero no funciona, eh..)
(**** Lo siento no me deja meter los enlaces (cuando haga 30 posts... ) ****)
Por último adjunto el código "caliente", donde está el mehollo del asunto...
Código:
Muchas gracias por su ayuda, seguramente será una tontería pero yo ya no sé por donde tirar.XML.prototype.ignoreWhite=true; // objeto XML que recibe el listado de usuarios Poblaciones=new XML(); // No mostramos el combo hasta que no se carguen los datos... Combo.visible = false ; // Al cargarse los datos... Poblaciones.onLoad=function(exito){ if(exito){ var raiz=this.firstChild; var hijos=this.firstChild.childNodes.length; var provincia = "undefined" ; // Combo.addItem ({data:0,label:"Población:"}) ; for(var n=0;n<hijos;n++){ // Esto es para indicar las provincias if (provincia != raiz.childNodes[n].attributes.Provincia) { Combo.addItem ({data:raiz.childNodes[n].attributes.Provincia, label:"en "+raiz.childNodes[n].attributes.Provincia+":"}) ; provincia = raiz.childNodes[n].attributes.Provincia ; } // Rellenamos el ComboBox Combo.addItem ({data:n, label:raiz.childNodes[n].attributes.Nombre}) ; } // fin For // Crear un objeto detector. var cbListener:Object = new Object(); // Asignar una función al objeto detector. cbListener.change = function(event_obj:Object) { Cartel.gotoAndPlay(1) ; Cartel.gotoAndPlay(2) ; LabelP.text = event_obj.target.selectedItem.label ; Cartel.LabelP.text = event_obj.target.selectedItem.label ; var id = event_obj.target.selectedItem.data ; trace("id: "+Cartel.LabelP.text); unloadMovie("_root.peliculas"); unloadMovie("_root.peliculas2"); loadMovie("almenara.swf", "_root.peliculas"); // Posicionamos los mapas _root.menu.Xpos = parseInt(raiz.childNodes[id].attributes.Mx) ; _root.menu.Ypos = parseInt(raiz.childNodes[id].attributes.My) ; _root.cuadro.Xpos = parseInt(raiz.childNodes[id].attributes.Cx) ; _root.cuadro.Ypos = parseInt(raiz.childNodes[id].attributes.Cy) ; }; // Añadir detector. Combo.addEventListener("change", cbListener); // Una vez añadidos los datos, mostramos el combo Combo.visible = true ; } // fin If else { parse ("Error al cargar los datos") ; } } // fin onLoad // acceso a la base de datos para obtener un listado de poblaciones // Poblaciones.load("URL DE PEGA CENSURADA") ; Poblaciones.load(""URL DE PEGA CENSURADA") ;
Un cordial saludo.