Comunidad de diseño web y desarrollo en internet online

Llamar a una funcion del main desde un componente

Citar            
MensajeEscrito el 11 Ago 2008 05:18 pm
Hola, tengo una duda:
Tengo un Main.mxml que es el que se ejecuta.
Dentro de él hago 2 llamadas a 2 componentes (Login.mxml y Juego.mxml) por medio de States.
Al ejecutar el Main se pone el State del Login. Yo quiero que desde el login, al hacer click en el Boton "Login" me cambie el State del Main (tengo una funcion en el main que hace el cambio) y ahora pueda ver el Juego. Mi problema esta en que no puedo acceder desde el Login a esa funcion que esta en el Main.
No se si me explique bien.
Cualquier duda diganme.
Espero respuesta.
Gracias

Por RegFacu

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Ago 2008 05:32 pm
Puedes usar:

parent.miFuncion()

O una ruta absoluta del tipo

Application.application.miFuncion (tienes que importar la clase Application en tu componente)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 12 Ago 2008 12:26 am
si, yo tenia entendido que era asi como me decis, pero no pude hacerlo con eso :crap:
No se porque no me lo tomaba... Igualmente lo pude solucionar de otra manera. Gracias por la respuesta.

Por RegFacu

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Ago 2008 10:16 am
Cuando se solucionan los problemas se postea la forma en que se solucionó para que si otro usuario tiene el mismo problema, al utilizar la búsqueda encuentre la solución.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 12 Ago 2008 03:37 pm
declaraste publica la funcion que intentas acceder?

Por master_of_puppetz

Claber

2483 de clabLevel

7 tutoriales
3 articulos

Genero:Masculino   Premio_Secretos

WebDev (Flex + PHP + JS)

safari
Citar            
MensajeEscrito el 12 Ago 2008 03:43 pm
Ahh, disculpen, no sabia.
Aca les dejo la solucion:
Tengo 3 archivos:
Main.mxml
Login.mxml
Juego.mxml

Main.mxml:

Código :

   <mx:states>
      <mx:State name="Login">
         <mx:AddChild>
            <mx:target>
               <components:Login id="login" dataChange="logueo();"/>
            </mx:target>
         </mx:AddChild>
      </mx:State>
      <mx:State name="Juego">
         <mx:AddChild >
            <mx:target>
               <components:View id="juego" width="100%" height="100%" User="{txtUser}"/>
            </mx:target>
         </mx:AddChild>

Al inicializarse el programa tengo una funcion init() que cambia el state a "Login", entonces estoy viendo el login. Como veran al cargar el componente del login tiene un "dataChange", que al suceder esto me hace la funcion logueo que me hace cambiar el CurrenState a "Juego".
En el componente Login, al hacer click en el boton "Loguearse" lleva a una funcion que hace lo siguiente:

Código :

   public function login () : void {
      data = Name.text;
   }

Esta funcion hace que se active el DataChange y al mismo tiempo me pasa el nombre de usuario.
Asi lo hice.
Si no se entiende avisenme.
Saludos, gracias y disculpen por no haber puesto la solucion de una.

Por RegFacu

6 de clabLevel



 

firefox

 

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