2012-02-29 50 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的帮助!

相关问题