我的应用程序当前包含许多由小部件管理器管理的小部件。当用户点击一个小部件(例如一个 Helper 小部件)时,小部件管理器使用以下代码行将该小部件加载到一个单独的同级应用程序域中:
wgtInfo.load(null, null, null, moduleFactory); //wgtInfo = IModuleInfo
但是,我以后无法使用小部件的变量和函数。我尝试从小部件管理器的小部件列表中找到 Helper 小部件,并且我成功了。但是,当我尝试将 Helper Widget 从 IBaseWidget 类型(所有小部件共享的接口)转换为 HelperWidget 类型时,我收到以下错误:
TypeError:错误#1034:类型强制失败.....
这是因为尝试使用 Helper 小部件的类的应用程序域与 Helper 小部件的应用程序域不同。我试图通过将所有小部件加载到与加载器相同的应用程序域来解决此问题:
wgtInfo.load(ApplicationDomain.currentDomain, null, null, moduleFactory);
现在,每当我尝试加载 Helper 小部件时,都会收到以下错误:
TypeError:错误 #1009:无法访问空对象引用的属性或方法。
如何将我的 Helper 小部件加载到其他小部件可访问的公共应用程序域中?