简体   繁体   English

将RSL伸缩并将其编译为SWF和#2032错误

[英]Flex and compiling RSLs into the SWF and the #2032 error

I've been working on a SWF that will be converted into a Projector file, no particular great shakes but some fun logic driving some aspects. 我一直在研究将转换为Projector文件的SWF文件,虽然没有什么特别的动摇,但一些有趣的逻辑推动了某些方面的发展。 Written Flex 4.5 it has been a doddle until I test the projector on a new / clean machine and without (v important this) a network connection. 书面的Flex 4.5一直是轻而易举的事,直到我在新的/干净的机器上测试投影机并且没有(很重要的)网络连接。 What happens is the movie fails with an... 发生的事情是电影失败并显示...

Error #2032: Stream Error: URL: file:///C:|/mydirectory/framework_4.5.0.20967.swz 错误#2032:流错误:URL:file:/// C:| /mydirectory/framework_4.5.0.20967.swz

...after some research I realise this is an RSL (Runtime Shared Library) that is cached on the local machine (WIN7) under the 'C:\\Users\\\\AppData\\Roaming\\Adobe\\Flash Player\\AssetCache\\<8 Char Path>\\' along with a host of other RSLs. ...经过一番研究,我意识到这是一个RSL(运行时共享库​​),它缓存在本地计算机(WIN7)的'C:\\ Users \\\\ AppData \\ Roaming \\ Adob​​e \\ Flash Player \\ AssetCache \\ <8 Char路径> \\'以及其他许多RSL。 But in my disconnected state it doesn't work, however, if the machine is connected it does work (by downloading and caching the appropriate libraries from Adobe). 但是在我断开连接的状态下,它不起作用,但是,如果连接了计算机,它就可以工作(通过从Adobe下载并缓存适当的库)。 Unfortunately I need to deploy this Projector file as a single entity and often into disconnected scenarios. 不幸的是,我需要将此Projector文件部署为单个实体,并且经常部署到断开连接的场景中。 Reviewing Flex's build options I've selected 'Merged into code' for the Framework Linkage that I assumed would create my single, deployable object but alas no. 回顾Flex的构建选项,我为框架链接选择了“合并到代码中”,我认为这将创建我的单个可部署对象,但可惜没有。

Is there any way of compiling these RSLs into my deployable SWF / Projector without requiring an Internet Connection? 是否可以在不需要Internet连接的情况下将这些RSL编译到我的可部署SWF /投影仪中?

Thanks in advance 提前致谢

OK, nailed it. 好,钉上它 After resetting all the build option (after another clean) to 'Merged Into Code' and pointing the 'Source Attachment' value to the appropriate SDK\\Frameworks\\RSLs directory (and again this didn't work). 将所有构建选项(在再次清除后)重置为“合并到代码”,然后将“源附件”值指向相应的SDK \\ Frameworks \\ RSLs目录(这再次不起作用)。 It turns out adding the following switch in the compiler arguments did the trick... 事实证明,在编译器参数中添加以下开关确实达到了目的。

-static-link-runtime-shared-libraries=true -static-链路运行时共享的库=真

...from Adobe this ensures that the Framework classes are actually compiled into the SWF. ...从Adobe那里,这确保将Framework类实际编译到SWF中。

Thanks for the support Flextras! 感谢您对Flextras的支持!

When you compile the app; 编译应用程序时; switch the framework type from RSL to Merged Into Code. 将框架类型从RSL切换为“合并成代码”。 Your problem should go away. 您的问题应该解决。

This is an option in the Flash Builder Project Properties. 这是Flash Builder项目属性中的一个选项。 Look under "Build Path", then "library path." 在“构建路径”下,然后在“库路径”下查看。 Change the Framework Linkage drop down. 更改框架链接下拉菜单。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM