thanks juanma hace un rato que pedro alpera me ha pasado la soluci�n, muy parecida a esta. la verdad es q no sab�a que al asignar una funci�n al xml mediante onLoad estaba asignandosela al xml y por tanto, la funci�n trabajaba dentro de �l y this. se refiere al xml en si y no al mc que lo contiene
cada dia que pasa flipo... como he estado yo programando hasta ahora como para encontrarme todas estas cosas en 2 semanas?? thanks a todos :) marc -----Mensaje original----- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] En nombre de juanma Enviado el: s�bado, 09 de agosto de 2003 3:37 Para: [EMAIL PROTECTED] Asunto: Re: [ASNativos] prototipos y XML El problema es que estas llamando a un m�todo que pertenece al objeto de la clase MovieClip desde el �mbito interno de un objeto XML que se encuentra anidado en el objeto MovieClip, por eso no recibe la orden. Cuando haces : this.plant.onLoad = this.creaQu; que es lo mismo que: this.plant.onLoad = function(){ this.creaQu; } estas en realidad llamando a un metodo inexistente de this.plant porque te encuentras dentro de su ambito, no sales del objeto XML. Como los objetos no poseen un metodo _parent que remita al objeto superior donde se encuentran anidados, en este caso el objeto XML se encuentra dentro de un objeto MovieClip, lo que se hace es crear una propiedad en el objeto anidado de este modo: this.plant._ref=this; this.plant.onLoad=function(){ this._ref.creaQu(); } asi cuando utilizamos dentro del Objeto XML this._ref, estamos remitiendo al this del objeto Movieclip y por lo tanto ya puedes llamar al m�todo tranquilamente. el c�digo quedar�a: MovieClip.prototype.creaQu = function() { trace(this.plant.toString()); trace("ok"); } MovieClip.prototype.veureText = function() { this.plant = new XML(); this.plant.ignoreWhite = true; //con esta linea recogemos la referencia this.plant._ref=this; this.plant.onLoad=function(){ this._ref.creaQu(); } this.plant.load("rss.xml"); } veureText(); ----- Original Message ----- From: "Marc, de fumarmata.com" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Saturday, August 09, 2003 2:03 AM Subject: [ASNativos] prototipos y XML hola, tengo este par de prototipos (sip, simplificados): MovieClip.prototype.creaQu = function() { trace(this.plant.toString()); trace("ok"); }; MovieClip.prototype.veureText = function() { this.plant = new XML(); this.plant.ignoreWhite = true; this.plant.onLoad = this.creaQu; this.plant.load("plantillas/veureText.xml"); }; veureText(); el prototipo "veureText" carga un peque�o doc XML, y "creaQu" es el proto al que llama cuando el XML se ha cargado pues bien, parece ser que llama a "creaQu" antes de que se haya cargado el XML (o antes de que est� disponible o alguna cosa as�) ya que el trace de "creaQu" devuelve un undefined sin embargo, si quito todos los "this." de dentro de los protos, todo funciona perfectamente. si llamo a creaQu unos fotogramas despu�s, tambi�n encuentra el objeto XML supongo que hay algun principio vital de flash que habr�a que aplicar aqu� y no conozco... pero habr� cargado mil xml's distintos en mil proyectos distintos y nunca me hab�a encontrado con esto �ltimamente flash me da demasiadas sorpresas :/ thanks marc <!------------------------------- Lista ASNativos: subscripciones/desubscripciones http://www.sidedev.net/asnativos --------------------------------> <!------------------------------- Lista ASNativos: subscripciones/desubscripciones http://www.sidedev.net/asnativos --------------------------------> <!------------------------------- Lista ASNativos: subscripciones/desubscripciones http://www.sidedev.net/asnativos -------------------------------->
