Je suis assez sûr que c'est totalement ce dont j'ai besoin, mais je ne peux pas le faire fonctionner pour une raison quelconque. Ce que je voudrais faire est d'appeler un composant arbitraire qui étend Canvas. Comme il peut y avoir une variété de composants nommés TestCanvasA, TestCanvasC, TestCanvasC que je ne connaîtrai pas avant l'exécution, j'ai pensé que ce serait la bonne façon de procéder. Voici ce que j'ai.AddChild avec Dynamic DispalyObject dans Flex
<mx:Script>
<![CDATA[
import component.TestCanvas;
import mx.containers.Canvas;
import flash.display.Sprite;
import flash.utils.getDefinitionByName;
private function init(evt:Event):void{
var Type:String="TestCanvas";
var controlClass:Class = getDefinitionByName(Type) as Class;
this.addChild(new controlClass() as Canvas);
}
]]>
</mx:Script>
Toutes les idées seraient géniales!
Pouvez-vous expliquer ce que vous voulez dire par "ça ne marche pas"? A-t-il lancé une erreur? Si ce n'est pas le cas, vous pouvez réessayer après avoir installé [version de débogage de Flash Player] (http://www.adobe.com/support/flashplayer/downloads.html) pour vous assurer que vous ne manquiez pas l'erreur lancée. – Amarghosh
En fait, cela a bien fonctionné. Mon problème était que je chargeais dans les classes à partir d'un SWC externe, et les classes n'étaient pas reconnues. Je l'ai eu à travailler, en chargeant une autre classe du SWC qui a importé et a déclaré la classe. Ensuite, je me suis juste assuré qu'il était complètement chargé et a couru getDefinitionByName() Merci encore! – abritez