从错误的URL加载Textlayout RSL

时间:2012-08-14 13:54:49

标签: flex flex4 flex4.5

我有一个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的任何想法?

2 个答案:

答案 0 :(得分:0)

事实证明我的CSS swf是在调试模式下编译的,但应用程序处于发布模式。所以应用程序使用缓存的swz,然后模块试图加载调试swf版本。

如果编译选项匹配,它不会尝试加倍加载,一切都很开心。

此外,使用发布版本适用于应用程序的调试版本和发布版本,因此我正在采取措施来简化部署。

答案 1 :(得分:0)

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

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

然后,必须添加每个库的RSL路径。或者,由于所有ant文件都使用公共库,我们在ant-build项目中创建一个新的xml文件(参见:refractor similar code snippet in ANT files

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