使用Flash或Pure AS3项目中的RemoteObject(AMF)

4 apache-flex flash remoteobject amf actionscript-3

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

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

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

我尝试了各种方式(检查flex框架中所有必需的库都包含在内,等等),但没有任何效果.

小智 7

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

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

RpcClassAliasInitializer.registerClassAliases();

(是的,我回答了我自己的问题.我没有找到任何关于这个问题的博客或搜索结果,所以我在这里分享问题并解决.)