我的应用程序当前包含一些由小组件管理器管理的小组件。当用户点击一个窗口小部件(如辅助部件),小插件管理器加载插件与下面的代码行单独同级应用领域:强制转换加载到其他应用程序域中的对象时的强制转换错误
wgtInfo.load(null, null, null, moduleFactory); //wgtInfo = IModuleInfo
但是,我无法使用Widget的变量并在稍后发挥作用。我尝试从窗口小部件管理器的窗口小部件列表中找到Helper窗口小部件,并且成功完成。但是,当我尝试种姓从类型IBaseWidget的助手小工具(该接口的所有部件份额)键入HelperWidget,我收到以下错误:
TypeError: Error #1034: Type Coercion failed.....
这是因为类的应用领域尝试使用该助手小部件与Helper Widget的应用程序域不同。我试图通过加载所有部件到同一个应用程序域中加载程序来解决这个:
wgtInfo.load(ApplicationDomain.currentDomain, null, null, moduleFactory);
我现在碰到下面的错误,每当我尝试加载助手插件:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
我怎样才能将我的Helper小部件加载到可由其他小部件访问的公共应用程序域中?
我在这里有点困惑。但是,猜测是错误不是基于ApplicationDomain,而是基于哪些类正在编译到哪个Module中。 Flex会自动优化SWF中未使用的类;但是你可以用include-libraries编译器参数强制它们。 – JeffryHouser 2011-04-28 18:16:38