Frage

Ich habe eine Actionscript-Datei, die eine Klasse definiert, die ich in einer Flex-Anwendung verwenden möchte.

Ich habe einige benutzerdefinierte Steuerelemente in einer Actionscript-Datei definiert und sie dann über das Anwendungs-Tag importiert:


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

Aber dieser Code ist keine Flex-Komponente, sondern eine Bibliothek zum Ausführen mathematischer Routinen. Wie importiere ich diese Klasse?

War es hilfreich?

Lösung

Sie müssten die Klasse in ein Skript-Tag importieren.

<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>

Dann können Sie an einer anderen Stelle in Ihrem Skript-Tag auf diese Klasse verweisen.Abhängig davon, wie die Klasse geschrieben ist, können Sie möglicherweise keine Bindung innerhalb der MXML verwenden, aber Sie können Ihren eigenen Code definieren, um damit umzugehen.

Namespace-Deklarationen werden nur zum Importieren anderer MXML-Komponenten verwendet.AS-Klassen werden mit der Importanweisung entweder innerhalb eines Skriptblocks oder einer anderen AS-Datei importiert.

Andere Tipps

@Herms:Zur Verdeutlichung: Namespace-Deklarationen können auch zum „Importieren“ von AS-Klassen verwendet werden, wenn Sie diese mithilfe von MXML instanziieren möchten.

Erwägen Sie beispielsweise eine benutzerdefinierte visuelle Komponente, die Sie beispielsweise vollständig in AS geschrieben haben com.apterasoftware.scorecard.controls.MathVisualizer.Um es in MXML zu verwenden:

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

    <aptera:MathVisualizer width="400" height="300" />
</mx:Application>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top