Hola:
Mi pregunta es muy simple: ¿cómo hago referencia a un componente dentro de un archivo mxml (flex) desde una clase as3? El código de prueba es este:
FlexTest.mxml (es el código por defecto de Flash Builder o flash develop)
Main.as
La clase es muy simple, no hace nada. De hecho, solo muestra un par de variables a la consola. FlexGlobals.topLevelApplication devuelve null, por ende no lo puedo utilizar para referenciar el botón myBtn, y obj.myBtn dice que no existe tal referencia (al hacer trace obj.myBtn == null).
Gracias de antemano :).
Mi pregunta es muy simple: ¿cómo hago referencia a un componente dentro de un archivo mxml (flex) desde una clase as3? El código de prueba es este:
FlexTest.mxml (es el código por defecto de Flash Builder o flash develop)
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<fx:Script>
<![CDATA[
// Importo la clase y luego la uso (le paso la instancia de la aplicación - en teoría - con this):
import com.nicomv.Main;
var m: Main = new Main( this );
]]>
</fx:Script>
<s:Button id="myBtn" x="247" y="341" label="My Button"/>
</s:Application>Main.as
package com.nicomv {
import mx.core.FlexGlobals;
public class Main {
public function Main( obj: * ) {
trace( 'Main...' );
trace( obj );
trace( FlexGlobals.topLevelApplication );
}
}
}La clase es muy simple, no hace nada. De hecho, solo muestra un par de variables a la consola. FlexGlobals.topLevelApplication devuelve null, por ende no lo puedo utilizar para referenciar el botón myBtn, y obj.myBtn dice que no existe tal referencia (al hacer trace obj.myBtn == null).
Gracias de antemano :).