Actionscript 3 为什么我会得到一个';隐性价值强制;将swc从Flash Pro CS6导出到Flash Builder时出错?

Actionscript 3 为什么我会得到一个';隐性价值强制;将swc从Flash Pro CS6导出到Flash Builder时出错?,actionscript-3,apache-flex,import,flash-builder,swc,Actionscript 3,Apache Flex,Import,Flash Builder,Swc,我用类名创建符号 我以SWC的形式发布,在FlashBuildr中看起来是这样的 我导入MyRect并尝试使用它 var redRect:MyRect = new MyRect; addChild(redRect); 我犯了一个错误 将MyRect类型的值隐式强制到不相关的DisplayObject类型…第93行Flex问题我认为问题在于如何声明它。这可能与对象类型有关。试试这个: var objects:Array; objects = [0]; objects[0] = n

我用类名创建符号

我以SWC的形式发布,在FlashBuildr中看起来是这样的

导入MyRect并尝试使用它

var redRect:MyRect = new MyRect;
     addChild(redRect);
我犯了一个错误


将MyRect类型的值隐式强制到不相关的DisplayObject类型…第93行Flex问题

我认为问题在于如何声明它。这可能与对象类型有关。试试这个:

var objects:Array;
objects = [0];
objects[0] = new MyRect();
addChild(objects[0]);

然后看看会发生什么。

您不能将MovieClip(或Sprite)类直接添加到大多数Flex组件-尝试将MyRect添加到UIComponent。这是一个actionscript项目,为什么您的错误消息中会出现“Flex”?请参见“类型”框末尾的最新屏幕。但这是在FB4.7上作为一个运行在空中的Actionscript项目设置的。当您在project Explorer的“引用库”部分打开swc时,你看到上面列出的MyRect.abc类了吗?为什么将组件放入数组会影响这一点?我认为Ronnie正试图通过使用一个本质上没有类型化的变量来避免键入错误。这将消除编译时错误,但运行时错误仍然存在。对罗尼说:你可以通过做
addChild(newrect()as*)
而不是你所做的事情来解决这个问题。无论如何,这只会有助于编译器错误,并会在应用程序遇到该行时崩溃。