【问题标题】:Flash Error #1034: Type Coercion failed when running with Flash DevelopFlash 错误 #1034:使用 Flash Develop 运行时类型强制失败
【发布时间】:2011-05-22 03:08:21
【问题描述】:

我已经编译了一个 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 是影片剪辑名称。 loginControlView 是资产名称。 并且有一个名为 loginControl 的类扩展了 loginControlView

LoginControlView 影片剪辑包含 2 个文本框和一个按钮 (fl.controls)

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

有什么建议吗?

【问题讨论】:

  • 如果从 LoginControlView 影片剪辑中删除按钮会发生什么?是否显示任何其他错误或是否正常工作?
  • @Maurycy 我收到关于 fl.controls.TextInput 的另一个类似错误
  • 嗯,你试过在 Flex/Flash Builder 下编译这个吗?
  • flash开发不使用flex编译器吗? flexdev 输出窗口中的“Using the Flex Compiler Shell”行暗示了!?

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


【解决方案1】:

您可能知道,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 类。

【讨论】:

  • 嗨,我已经将 fl.contorls UI 组件导出到单独的 SWC。我在 FlashDevelop 中浏览 SWC 包时可以看到它们
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-24
    • 2012-09-04
    • 1970-01-01
    • 2015-08-10
    相关资源
    最近更新 更多