Foros del Web » Creando para Internet » Flash y Actionscript »

Ejecutar funcion que esta en el principal desde un componente

Estas en el tema de Ejecutar funcion que esta en el principal desde un componente en el foro de Flash y Actionscript en Foros del Web. Mensaje Autor Publicado: Jue Feb 21, 2008 7:35 pm Citar Borrar El archivo principal tiene un viewstack que tiene 2 canvas cada canva abre un ...
  #1 (permalink)  
Antiguo 21/02/2008, 16:17
 
Fecha de Ingreso: febrero-2005
Mensajes: 4
Antigüedad: 19 años, 2 meses
Puntos: 0
Ejecutar funcion que esta en el principal desde un componente

Mensaje Autor
Publicado: Jue Feb 21, 2008 7:35 pm Citar Borrar

El archivo principal tiene un viewstack
que tiene 2 canvas
cada canva abre un componente (le llamo componente pero no se si es así, está en otro archivo)
un canvas abre un tileList un thumbNails de fotos
el otro canvas tiene la foto en grande

cuando hago doble click en la fotito del tileList necesito que abra el 2do canvas con la foto grande

el problema que tengo es que a la funcion la tengo en el archivo principal y a la acción la tengo que hacer desde el componente y obviamente no la reconoce.
no se como hacer para que lo reconozca.

Por otro lado, yo uso componentes o como se llame, como sería posible hacer esto mismo pero que abra en vez de diferentes componentes, que abra diferentes SWF.

El problema no sería abrir, sino desde dentro del SWF ejecutar la acción para que me muestre el otro canvas

luego el tema de pasar variables entre componente y/o archivos diferentes creo que debe estar relacionado.

Este tema me preocupa porque no se cual es la mejor manera para hacer este tipo de cosas, existe alguna documentación para entender bien este tipo de asuntos

Gracias.

Código:
<mx:ViewStack id="viewstack1" width="100%" height="100%">      

    <mx:Canvas label="View 1" width="100%" height="100%">
        <explorer:thumbPanel id="swfThumb" width="100%" height="100%"/>
    </mx:Canvas>              

    <mx:Canvas label="View 1" width="100%" height="100%">
        <explorer:loaderPanel id="swfLoader" width="100%" height="100%"/>
    </mx:Canvas>

</mx:ViewStack>


el archivo o componente o como se llame: (thumbPanel.mxml)



<?xml version="1.0" encoding="utf-8"?>

Código:
<mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%">
   <mx:VBox width="100%" height="100%">
       <mx:TileList width="100%" height="100%" rowHeight="280" columnWidth="210"
           doubleClickEnabled="true"  doubleClick="cambiarCanvas()"
           id = "tile" itemRenderer="Thumbnail"/>
       <mx:HBox width="100%">
               <mx:Button label="Upload Images"/>
               <mx:Button label="Delete Images"/>
               <mx:Button label="Save Order"/>
               <mx:Button label="Show Image"/>
         </mx:HBox>
   </mx:VBox>
</mx:Panel>


esta es la función que yo necesitaría poner en el archivo principal
doubleClick="cambiarCanvas()"

bueno, creo que se entendió el problema
  #2 (permalink)  
Antiguo 13/03/2008, 16:03
Avatar de seyacat  
Fecha de Ingreso: agosto-2006
Mensajes: 382
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Ejecutar funcion que esta en el principal desde un componente

No tengo mucha experiencia en Flex, pero hice una app con formularios de ingreso y egreso, en donde el principar cargaba todo por MODULOS.

Lo que tengo entendido pues es que los modulos se presentan como archivos aparte, mietras los componenetes se embeben en el SWF.

Bueno, para una funcion en el swf padre solamente usas

parentApplication.tufuncion()

para hacer la inversa es un poco mas complicado.
  #3 (permalink)  
Antiguo 25/03/2008, 12:06
 
Fecha de Ingreso: marzo-2006
Ubicación: Mexico City
Mensajes: 27
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Ejecutar funcion que esta en el principal desde un componente

puedes acceder a cualquier función o componente usando la clase Application:
Código:
Application.application.tu_funcion();
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 15:29.