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

Reply via email to