我最近将一些代码从 Flex 项目移植到新的纯 AS3 项目。当我尝试进行 AMF 调用时,收到如下错误消息:
TypeError:错误 #1034:类型强制失败:无法将 Object@5425371 转换为 mx.messaging.messages.ErrorMessage。
没有与错误相关的堆栈跟踪,因此调试很困难。
我尝试了各种方法(检查 Flex 框架中所有必需的库是否都包含在内,等等),但没有任何效果。
一段时间后,我找到了答案:Flex 在启动时进行一些初始化,如果没有这些初始化,AMF 类将无法运行。幸运的是,Adobe 想到了那些想要从非 Flex 项目或 Flash 中使用 AMF 的人,并提供了一种执行 AMF 所需的初始化的方法。
我将此行添加到应用程序的开头,突然间所有 AMF 调用都像在我的 Flex 项目中一样正常工作:
RpcClassAliasInitializer.registerClassAliases();
(是的,我回答了我自己的问题。我没有找到任何关于这个问题的博客或搜索结果,所以我在这里分享这个问题并修复。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)