flash - 使用来自 Flash 或纯 AS3 项目的 RemoteObject (AMF)

标签 flash actionscript-3 apache-flex amf remoteobject

我最近将 Flex 项目中的一些代码移植到一个新的纯 AS3 项目中。当我尝试进行 AMF 调用时,收到如下错误消息:

类型错误:错误 #1034:类型强制失败:无法将 Object@5425371 转换为 mx.messaging.messages.ErrorMessage。

没有与错误相关的堆栈跟踪,因此调试很困难。

我尝试了各种方法(检查是否包含了 flex 框架中所有必需的库等),但没有任何效果。

最佳答案

一段时间后,我找到了答案:Flex 在启动时做了一些初始化,如果没有,AMF 类将无法运行。幸运的是,Adobe 已经想到了那些想要从非 flex 项目或 Flash 中使用 AMF 的人,并提供了一种方法来进行 AMF 所需的初始化。

我将这一行添加到我的应用程序的开头,突然所有 AMF 调用都像在我的 Flex 项目中一样工作:

RpcClassAliasInitializer.registerClassAliases();

(是的,我回答了我自己的问题。我没有找到有关此问题的任何博客或搜索结果,所以我在这里分享问题并修复。)

关于flash - 使用来自 Flash 或纯 AS3 项目的 RemoteObject (AMF),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8987109/

相关文章:

2020 年后的 Flash Player 投影仪

java - Android Flash 杂志应用

actionscript-3 - AS3向arduino发送长消息?

apache-flex - 如何在 ant 中复制 Flash Builder 发布工具的功能?

flash - AR 无人机 2 和 ffserver + ffmpeg 流

actionscript-3 - 阅读PDF,字符问题

actionscript-3 - AS3 : How to remove movieclip properly without Error 1009 overflow?

apache-flex - Array 和 ArrayCollection(Flex) 的区别

apache-flex - 导出发布版本 - 通过 Intellij Idea 的 Flex

flash - 多个音频到netStream?