^M MXML | Andrés Villagrán Placencia

MXML

Modularización con Adoble Flex

Una característica importante que tiene Flex es a la hora de crear módulos, este provee un componente el cual sirve para cargarlos (estos son SWF, el “ejecutable” que compila Flex), el Cargador de Módulos se crea de la siguiente forma:

<mx:ModuleLoader id="CargadorModulos" url="ejemplo_modulo.swf" width="100%" height="100%" />

Este se comporta como cualquier otro componente y tiene las típicas propiedades como width y height, donde podemos definir el tamaño de este, como también incluye la propiedad url, que será el modulo a cargar, en este ejemplo se cargará el modulo “ejemplo_modulo.swf”. Si queremos accesar desde el modulo a propiedades u objetos de la aplicación principal debemos importar lo siguiente (dentro de nuestro modulo):

<mx:Script>

<![CDATA[

import mx.core.Application;

private function init():void {

Application.application.ObjetoDesdeAplicacion.Metodo();

}

]]>

</mx:Script>

 

Puede ser que necesitemos ejecutar una función al momento de que cargue el módulo, como ya creamos la función init() debemos agregar la propiedad “initialize” a nuestro modulo:

<mx:Module xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" width="100%" height="100%" initialize="init()">

Ahora supongamos que queremos cargar otro modulo desde “ejemplo_modulo.swf” para esto simplemente podemos hacer lo siguiente (suponiendo que estamos agregando esto al CDATA de Script:

<mx:Script>

<![CDATA[

private function FuncionCargaOtroModulo():void {

Application.application.CargadorModulos.url = "otro_modulo.swf";

}

]]>

</mx:Script>

 

Pueden bajar el ejemplo completo donde encontrarán como crear menús y como tratar los eventos de estos para cargar un nuevo modulo.

Ejemplo de Modularización en Flex

Tags: , , , , ,

Monday, April 21st, 2008 Flex 9 Comments