je les deux projets Flex Builder 3 suivantes:Comment utiliser la balise [mixin] dans les applications AS3?
Un projet de bibliothèque AS3 (génère un fichier SWC)
Un projet d'application Flex (MXML Application)
L'application MXML fait référence au projet de bibliothèque AS3 (chemin de génération Flex). Jusqu'ici tout va bien. Je veux maintenant exécuter le code automatiquement lorsqu'une application utilise la bibliothèque AS3. La balise [mixin] devrait faire exactement ce dont j'ai besoin.
J'ai suivi les instructions de http://nondocs.blogspot.com/2007/04/metadatamixin.html et j'ai vérifié le projet AutoQuick. Ce dernier est un exemple de projet d'Adobe montrant l'utilisation du cadre d'automatisation. Dans ce projet, ils utilisent la balise [mixin] (classe AQAdapter).
J'ai suivi les exemples mais mon code ne fonctionne pas. La méthode init statique n'est pas appelée. J'ai ajouté la bibliothèque à la liste des arguments du compilateur qui ne fonctionnait pas non plus.
Comment puis-je faire fonctionner ceci?
/* class to be automatically loaded */
package {
/* includes */
[mixin]
public class TestApp extends Sprite {
/* additional members */
private static var mContainer:DisplayObjectContainer;
private static var mInstance:TestApp;
/**
* @private
*/
public static function init(root:DisplayObject):void
{
if(!mInstance)
{
mContainer = root as DisplayObjectContainer;
mContainer.addEventListener(FlexEvent.APPLICATION_COMPLETE, applicationCompleteHandler);
}
}
}
}
La balise [mixin] (première lettre est en majuscule!) Doit être utilisé et une référence comme "var test: TestApp;" est suffisant pour appeler le code statique. –
L'option du compilateur -include = ClassName charge quand même la classe, il n'est donc pas nécessaire d'ajouter une référence dans le code. –