Yo creo que la forma menos mala es extender la clase XML y crearle un atributo owner, así no cantará el compilador al hacer: miXML.owner = this; Qué os parece?
Juan V. Delgado Fernando Castillo wrote: La forma elegante: <code> class ObjectInside { private var miXML : XML; public function ObjectInside () { cargaXML (); } private function cargaXML ():Void { var obj : ObjectInside = this; miXML = new XML (); miXML.ignoreWhite = true; miXML.onLoad = function (success) { if (success) { obj.metodo2 (); } else { trace ("ERROR"); } } miXML.load ("xml/main_menu.xml"); } private function metodo2 ():Void { trace ("Metodo2()"); } } </code> Por qué si se declara la variable *obj* fuera del método *cargaXML ()* no chuta? On Mon, 27 Sep 2004 22:29:58 +0200, Juan V. Delgado [1]<[EMAIL PROTECTED]> wro te: Vaya pensaba que era yo el único que utilizaba este sucio truco : ) Estaba convencido de que había una forma "elegante" de solucionarlo. Alguna vez he pensado en variables globales o algo por el estilo, pero al final siempre me quedo con esta porque es más sencilla. Salud! Juan V. Delgado Fernando Castillo wrote: O.K. pero ha de ser por el "atajo 367". La clase XML no es dinámica. <code> miXML ["owner"] = this; </code> :P On Mon, 27 Sep 2004 15:34:06 -0300, Horacio Soca [1][2]<[EMAIL PROTECTED]> wro te: hola, una forma de resolverlo es: tienes que poner en el objeto XML una referencia a la clase, en este ejemplo es la varialbe "owner" <code> private function setItems ():Void { xmlItems = new XML (); xmlItems.owner = this; xmlItems.ignoreWhite = true; xmlItems.load ("xml/main_menu.xml"); xmlItems.onLoad = function (success) { if (success) { this.owner.populateMainMenu(this.firstChild.childNodes.length); } } } </code> en los mensajes anteriores de la lista hay una discución bastante extensa sobre este tema, creo que también trata de esto mismo pero en laod vars busca por "clase carga LoadVars" saludos, Horacio Mensaje citado por Fernando Castillo [2][3]<[EMAIL PROTECTED]>: Amo a ver, tengo problemas para ejecutar un método privado de una clase desde un objeto xml que se encuentra en otro método privado de la misma clase. <code> private function setItems ():Void { xmlItems = new XML (); xmlItems.ignoreWhite = true; xmlItems.load ("xml/main_menu.xml"); xmlItems.onLoad = function (success) { if (success) { populateMainMenu(this.firstChild.childNodes.lengt h); } } } </code> Al ejecutar la llamada al método "populateMainMenu()" desde dentro del XML no va. No se si me estoy refiriendo a él de la forma correcta. Sé que dentro de una misma clase uno se puede "dirigir" a los distintos métodos que tiene implementados directamente por el nombre, pero en el caso de haclo desde dentro de un objeto como en este caso?? Un saludo -- Fernando Castillo tf. 659 446 557 -- ---------------------------------- Lista [[4]3]ASNativos:[EMAIL PROTECTED] [4][5]http://www.5dms.com/listas ---------------------------------- ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. ---------------------------------- Lista [[6]5]ASNativos:[EMAIL PROTECTED] [6][7]http://www.5dms.com/listas ---------------------------------- References 1. [8]mailto:[EMAIL PROTECTED] 2. [9]mailto:[EMAIL PROTECTED] 3. [10]mailto:ASNativos:[EMAIL PROTECTED] 4. [11]http://www.5dms.com/listas 5. [12]mailto:ASNativos:[EMAIL PROTECTED] 6. [13]http://www.5dms.com/listas References 1. mailto:[EMAIL PROTECTED] 2. mailto:[EMAIL PROTECTED] 3. mailto:[EMAIL PROTECTED] 4. mailto:3]ASNativos:[EMAIL PROTECTED] 5. http://www.5dms.com/listas 6. mailto:5]ASNativos:[EMAIL PROTECTED] 7. http://www.5dms.com/listas 8. mailto:[EMAIL PROTECTED] 9. mailto:[EMAIL PROTECTED] 10. mailto:ASNativos:[EMAIL PROTECTED] 11. http://www.5dms.com/listas 12. mailto:ASNativos:[EMAIL PROTECTED] 13. http://www.5dms.com/listas