我的應用程序當前包含一些由小組件管理器管理的小組件。當用戶點擊一個窗口小部件(如輔助部件),小插件管理器加載插件與下面的代碼行單獨同級應用領域:強制轉換加載到其他應用程序域中的對象時的強制轉換錯誤
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