我远程调用Java后端定义的方法(使用BlazeDS)。此方法返回MyType对象。在Flex端,返回值当然包含在ResultEvent对象中并存储为Object。调试器清楚地显示ResultEvent在其结果字段中包含MyType。所以你很自然地希望我可以将一个Object的结果转换为MyType,但这样做的结果是null。这里有一些代码来说明发生了什么......
私有函数scenarioLoadedHandler(event:ResultEvent):void {
var result:Object = event.result;
// willCastWork为false
var illCastWork:Boolean =(结果是MyType);
// myType为null
var myType:MyType = result作为MyType; }
请记住,调试器清楚地显示结果是“MyType”类型但是转换失败了,为什么会出现这种情况?
答案 0 :(得分:0)
如果浏览器正在加载缓存的.swf文件,有时会遇到类似的问题。如此清除浏览器缓存并尝试解决您的问题。
答案 1 :(得分:0)
当应用程序之间的库和库过时时,有时会发生此问题。在将模块加载到另一个应用程序中时,我遇到了同样的问题。当我处理两者之间的通信时,他们无法将对象从一个版本转换为另一个版本。