Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex 在Flex中添加具有动态DispalyObject的子对象_Apache Flex_Flash_Actionscript - Fatal编程技术网

Apache flex 在Flex中添加具有动态DispalyObject的子对象

Apache flex 在Flex中添加具有动态DispalyObject的子对象,apache-flex,flash,actionscript,Apache Flex,Flash,Actionscript,我很确定这完全是我所需要的,但是我因为某种原因不能让它工作。我想做的是调用扩展画布的任意组件。因为可能有各种各样的组件名为TestCanvasA、TestCanvasC、TestCanvasC,我在运行时才知道这些,所以我想这就是解决这个问题的方法。这是我的 <mx:Script> <![CDATA[ import component.TestCanvas; import mx.containers.Canvas; imp

我很确定这完全是我所需要的,但是我因为某种原因不能让它工作。我想做的是调用扩展画布的任意组件。因为可能有各种各样的组件名为TestCanvasA、TestCanvasC、TestCanvasC,我在运行时才知道这些,所以我想这就是解决这个问题的方法。这是我的

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


任何想法都会很棒

给它一个完全限定的类名:

var type:String="component.TestCanvas";
var controlClass:Class = getDefinitionByName(Type) as Class;
此外,除非在应用程序中存在对类的引用,否则一个简单的import语句不需要在编译的SWF中包含类的定义。只需在SWF中的某个地方声明(无需初始化)该类型的变量,以确保定义确实包含在内

var dummy:TestCanvas;

为其指定完全限定的类名:

var type:String="component.TestCanvas";
var controlClass:Class = getDefinitionByName(Type) as Class;
此外,除非在应用程序中存在对类的引用,否则一个简单的import语句不需要在编译的SWF中包含类的定义。只需在SWF中的某个地方声明(无需初始化)该类型的变量,以确保定义确实包含在内

var dummy:TestCanvas;

谢谢你回复我,但不幸的是那没用。让你更好地了解我在做什么。我想为某人创建一个外部库,以添加由mxml文件组成的任意模板文件。我的设想是,除了从画布继承mxml文件外,我不知道它的名称。然后,我将在运行时加载一个配置文件,该文件标识mxml“模板”的名称,并执行addChild将其添加到stage。让我知道这是否合理,或者我是否做错了什么。谢谢我真的很感激!谢谢你回复我,但不幸的是那没用。让你更好地了解我在做什么。我想为某人创建一个外部库,以添加由mxml文件组成的任意模板文件。我的设想是,除了从画布继承mxml文件外,我不知道它的名称。然后,我将在运行时加载一个配置文件,该文件标识mxml“模板”的名称,并执行addChild将其添加到stage。让我知道这是否合理,或者我是否做错了什么。谢谢我真的很感激!你能解释一下“它不起作用”是什么意思吗?它是否抛出了任何error-post错误语句。如果没有,你可能想在安装后再试一次,以确保你没有错过抛出的错误。实际上它工作得很好。我的问题是,我正在从外部SWC加载类,这些类没有被识别。我通过从导入并声明该类的SWC加载另一个类来实现它。然后我确保它已完全加载并运行getDefinitionByName(),再次感谢!你能解释一下“它不起作用”是什么意思吗?它是否抛出了任何error-post错误语句。如果没有,你可能想在安装后再试一次,以确保你没有错过抛出的错误。实际上它工作得很好。我的问题是,我正在从外部SWC加载类,这些类没有被识别。我通过从导入并声明该类的SWC加载另一个类来实现它。然后我确保它已完全加载并运行getDefinitionByName(),再次感谢!