0

我有一个 Flex 应用程序。它通过执行以下操作加载一个 swf,该 swf 代表包含一些嵌入字体的已编译 CSS:

FlexGlobals.topLevelApplication.styleManager.loadStyleDeclarations("assets/css/fontCSS/Interstate.swf");

发生这种情况时,flex 应用程序也会尝试加载 assets/css/fontCSS/textLayout_2.0.0.232.swf

我了解我需要文本布局 RSL。但我想从与 flex 应用程序相同的目录加载它,而不是模块的目录。我在那个位置有几个应用程序,我希望它们都共享同一个 RSL。

关于如何强制 RSL 从我的应用 URL 加载的任何想法?

4

2 回答 2

0

原来我的 CSS swf 是在调试模式下编译的,但应用程序处于发布模式。因此,该应用程序正在使用缓存的 swz,然后该模块试图加载调试 swf 版本。

如果编译选项匹配,它不会尝试双重加载,一切都会很高兴。

此外,使用发布版本适用于应用程序的调试和发布版本,所以这就是我为简化部署所做的工作。

于 2012-08-14T16:10:28.333 回答
0

首先,我们在 mxmlc 任务中添加了一些属性:

enter code here
              static-rsls="false"
              static-link-runtime-shared-libraries="false"
              verify-digests="false"

然后,必须添加每个库的 RSL 路径。或者,由于所有的 ant 文件都使用一个公共库,我们在 ant-build 项目中创建一个新的 xml 文件(请参阅:在 ANT 文件中折射类似代码片段

最后,最好在 build.properties 文件中初始化 RSL 的 swf/swz 文件的版本。

于 2012-08-16T07:43:06.117 回答