El caso es que para no escribir todo el código en un archivo MXML quiero ir modulando para que todo sea más legible. Pero tengo un problema a la hora de invocar funciones que tengo en un .as desde otro MXML.
Os pongo un ejemplo muy sencillo de lo que llevo intentando todo el día hacer:
Código :
package com.clases { public class Cosas { public function Cosas() {} public function hola():void{ // no hace nada } } }
Fichero MXML desde donde quiero llamar a la función
Código :
<?xml version="1.0" encoding="utf-8"?> <s:View xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:local="*"> <s:Button label="cambiar mapa" click="{hola()}"/> </s:View>
Nada, al hacer la llamada a hola(), me dice que error 1180: Call to a possibly undefinied metho hola.
Tambien lo he intentado con AS3 y tampoco:
Código :
<?xml version="1.0" encoding="utf-8"?> <s:View xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:local="*"> <fx:Script> <![CDATA[ import com.bomberos.clases.Cosas; public function llamada():void{ hola(); // Error aquí } ]]> </fx:Script> <s:Button label="Hacer Click" click="{llamada()}"/>
Claro, eso es un ejemplo, pero en el archivo real me pasa lo mismo. En el real lo que tengo es una clase dentro de un paquete... ok. Después desde el MXML principal de la aplicación creo una variable de tipo mapa y la muestro dentro de un UIComponent. Todo perfecto.
Pero tengo un panel (en otro MXML para separar el código) lleno de botones que quiero que llamen a las funciones del mapa que tengo definidas dentro del .as, y nada.
Espero vuestras respuestas cuanto antes, muchísimas gracias desde ya!
si falta algún ejemplo o cualquier cosa que me falte para completar la pregunta pedírmelo por favor y lo pongo de inmediato!
