我有一个定义 Widget 基类的父 SWF 文件。
然后我将外部 SWF 加载到父级中。外部 SWF 的文档类派生自 Widget 基类——例如,我们称它为 DerivedWidget。
问题是当我加载外部 SWF 时,我无法将 Loader.content(在调试器中显示为具有 DerivedWidget 类型)转换为 Widget 类型。加载完成后,我使用“as”运算符将内容转换为父 SWF 中的 Widget,但转换结果为“null”。
这种行为不是预期的,因为外部 SWF 被加载到父应用程序域中,并且加载器的内容在调试器中显示为 DerivedWidget,我知道它是从 Widget 派生的,但是转换为基 Widget 类失败了。
谁能解释这种意外行为并提供解决方案?
[编辑:回顾早期的代码快照......这以前可以工作,但现在不行......并且加载和强制转换代码没有改变]
[Edit2:实际上,在 Flash IDE 中调试时似乎失败了。正常运行时,所有内容都加载到正确的 ApplicationDomain (sameDomain=true);这显然是一个巨大的错误]