2012-02-29 48 views
0

在繼承的項目上有一個非常奇怪的問題。構建項目的開發人員(使用fb 4.0和flex 3.0.0.477)能夠對其進行編譯,並且應用程序在本地和服務器上都能正常工作。但是,如果我使用相同的代碼並使用fb 4.6和相同的flex sdk進行編譯,那麼應用程序將在本地工作,但是無法在服務器上加載模塊,從而導致「SWF不是可加載模塊」錯誤。調試會話中沒有其他錯誤。SWF不是Flash Builder 4.6編譯時的可加載模塊,但不是4.0

所有跨域策略文件似乎都已到位。該模塊甚至開始加載,但在下載5 - 10%後收到錯誤。

我也嘗試使用modLoader.applicationDomain = ApplicationDomain.currentDomain ;,設置應用程序域,但沒有結果。

謝謝!

+0

一切是通過相同的域託管/服務嗎?另外,IDE版本本身不應該有任何區別,它唯一的配置是Flash Player版本和構建路徑等,不管ide是使用bin \ mxmlc來編譯。我將在構建路徑設置中驗證框架是否設置爲合併到代碼而不是RSL中,但不能真正想到其他任何東西:http://blogs.adobe.com/aharui/2007/03/swf_is_not_a_loadable_module.html – shaunhusain 2012-02-29 21:41:02

+0

這些模塊與應用程序位於同一個域中。某些模塊從其他域加載資源,但所有模塊都無法加載。另外,構建framwork鏈接的設置在SDK默認(合併到代碼中) – 2012-02-29 22:17:16

+0

順便提一下,我嘗試在flex builder 3/windows中構建原始開發人員的工作代碼庫,並獲得相同的行爲。由於flex builder 3和flash builder 4.6都顯示相同的結果,它似乎表明與他的構建器設置有關的問題。或者我錯過了什麼? – 2012-03-01 18:49:52

回答

0

因此經過長時間的故障排除後,事實證明主應用程序小部件正在通過https加載,而模塊在http處被引用。我猜flash Builder 4.7強化了更嚴格的安全設置。我現在通過https引用小部件和模塊,並且應用程序再次運行。

謝謝Shaun的幫助!

相關問題