我有一个Flex应用程序。它通过执行以下操作加载一个swf,该swf表示包含某些嵌入字体的已编译CSS:
FlexGlobals.topLevelApplication.styleManager.loadStyleDeclarations("assets/css/fontCSS/Interstate.swf");发生这种情况时,flex应用程序还会尝试加载资产/css/fontCSS/textLayout_2.0.0.232.swf
我知道我需要文本布局RSL。但我想从与flex应用程序相同的目录中加载它,而不是模块的目录。我在那个位置有几个应用程序,我希望它们都共享相同的RSL。
关于如何强制从应用程序URL加载RSL,您有什么想法吗?
发布于 2012-08-15 00:10:28
原来我的CSS swf是在调试模式下编译的,但应用程序是在发布模式下编译的。因此,应用程序使用缓存的swz,然后模块尝试加载调试swf版本。
如果编译选项匹配,它不会尝试双重加载,一切都很顺利。
此外,使用发布版本既适用于应用程序的调试版本,也适用于应用程序的发布版本,所以这就是我为了简化部署而做的事情。
发布于 2012-08-16 15:43:06
首先,我们在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)
最后,rs1的swf/swz文件的版本最好在文件build.properties中初始化。
https://stackoverflow.com/questions/11953848
复制相似问题