Pregunta

Tengo un archivo ActionScript que define una clase que me gustaría usar dentro de una aplicación Flex.

Definí algunos controles personalizados en un archivo ActionScript y luego los importé a través de la etiqueta de la aplicación:


<mx:Application
    xmlns:mx="http://www.adobe.com/2006/mxml"
    xmlns:scorecard="com.apterasoftware.scorecard.controls.*"
...
</mx:Application>

pero este código no es un componente flex, más bien es una biblioteca para realizar rutinas matemáticas, ¿cómo importo esta clase?

¿Fue útil?

Solución

Necesitarías importar la clase dentro de una etiqueta de script.

<mx:Application
  xmlns:mx="http://www.adobe.com/2006/mxml">
  <mx:Script>
    import com.apterasoftware.scorecard.controls.*;
    // Other imports go here

    // Functions and other code go here
  </mx:Script>

  <!-- Components and other MXML stuff go here -->
  <mx:VBox>
    <!-- Just a sample -->
  </mx:VBox>
</mx:Application>

Luego podrá hacer referencia a esa clase en cualquier otro lugar de su etiqueta de secuencia de comandos.Dependiendo de cómo esté escrita la clase, es posible que no pueda utilizar el enlace dentro de MXML, pero puede definir su propio código para manejarlo.

Las declaraciones de espacios de nombres solo se utilizan para importar otros componentes MXML.Las clases AS se importan utilizando la declaración de importación ya sea dentro de un bloque de script u otro archivo AS.

Otros consejos

@Herms:Para aclarar un poco, las declaraciones de espacios de nombres también se pueden usar para "importar" clases AS, cuando se crean instancias de ellas usando MXML.

Por ejemplo, considere tener un componente visual personalizado que haya escrito completamente en AS, digamos com.apterasoftware.scorecard.controls.MathVisualizer.Para usarlo dentro de MXML:

<mx:Application
    xmlns:mx="http://www.adobe.com/2006/mxml"
    xmlns:aptera="com.apterasoftware.scorecard.controls.*">

    <aptera:MathVisualizer width="400" height="300" />
</mx:Application>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top