我有一个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的任何想法?
答案 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文件中初始化。