【发布时间】:2010-11-21 14:17:55
【问题描述】:
我的项目要求我的最终应用程序完全包含在单个 exe 中。我已经使用 ILMerge(assmebly 合并实用程序)组合了可执行文件和 dll。我在 C# 应用程序中托管了一个 flash active x 控件,并且我已将需要加载到 flash 控件中的一个 swf 作为嵌入资源嵌入到 c# 应用程序中。
This question shows how to write the resource to a temporary file,但不适合为我的情况创建临时文件。这会产生一个问题,因为活动 x 控件的 loadMovie 方法只接受指向要加载的文件的字符串。
我的问题是:是否可以在不创建临时文件的情况下将嵌入的 swf 资源动态加载到 flash active x 控件中?
【问题讨论】:
-
您提到了“loadMovie”,这意味着您使用的是 actionscript 2。如果您使用的是 actionscript 3,您可以使用 mxmlc 的 Embed 标签将要加载的 swf 嵌入到主 swf 中,编译器知道如何处理。我可能会创建一个 URLLoader 或 URLStream,将它的标头设置为接受二进制数据并告诉 c# 发送 swf 字节。完成后,您将创建一个 Loader 对象并使用 loadBytes 提供字节,从而将 bytearray 转换为 DisplayObject。这有意义吗?
-
loadMovie 方法是 flash active x 控件上的 C# 方法。
标签: c# flash resources activex embedded-resource