Flash错误#1034:使用Flash Develop运行时类型强制失败

时间:2010-12-08 09:54:14

标签: flash actionscript-3 flash-cs5 flashdevelop coercion

我编写了一个SWC并在flashdevelop项目中使用它。

当我编译项目时一切都很好,但是当我运行/调试项目时,我得到:

[Fault] exception, information=TypeError: Error #1034: Type Coercion failed: cannot convert flash.display::MovieClip@43e3f99 to fl.controls.Button.

以下行导致错误:

public var loginPanel:loginControl  = new loginControl();  

LoginControlView是movieclip名称。 loginControlView是资产名称。 并且有一个名为loginControl的类,它扩展了loginControlView

LoginControlView movieclip包含2个文本框和一个按钮(fl.controls)

如果我从Flash IDE编译/运行/调试,项目运行正常。

有什么建议吗?

2 个答案:

答案 0 :(得分:4)

好的,我找到了解决方案。我的类路径中包含一个指向flash安装的fl.controls文件夹的路径。但fl.controls也与我的SWC一起出口。 我假设同一个类的两个定义导致了问题,因为当我删除类路径时,一切正常。

答案 1 :(得分:0)

正如您可能知道的那样,fl.controls包中包含Flash Professional CS5及更早版本的组件,通过在.swc中捆绑组件,可以在Flash Develop中使用 How do I use an Adobe control from fl.controls.* in FlashDevelop?

由于您的项目在Flash Professional中编译时没有错误,因此问题必须在导出的fl.controls中。* .swc。

而不是使用fl.contros。* .swc,因为您使用的是Flash Develop,您可以使用Flex 4.1 SDK中的spark.controls packagemx.controls package。这两个包都包含一个Button和TextInput类。