1

我正在考虑在 flex 中使用子应用程序来启用多版本编译。

具体来说,我希望有一个加载 Flex 3.6 子应用程序的 Flex 4.x 主机应用程序。

文档说明这是可能的(以及子应用程序的目的)。但是他们指定了这一点:

在编译每种类型的应用程序时,您应该将 MarshallingSupport 类包含到主应用程序和子应用程序中。您可以使用包含编译器参数执行此操作,如以下示例所示:

-includes=mx.managers.systemClasses.MarshallingSupport

但是,据我所知,MarhsallingSupport直到 4.x 版本才包含在内。

查看 3.5.0.12683 和 3.4.1.10084的mx.managers.systemClasses包显示没有参考MarshallingSupport(请参阅此处和此处的svn

对于 3.6a 也是如此(可以下载 SDK,但找不到源代码)。

我错过了什么吗?当它不可用时,我应该如何将此类包含在 3.x 子应用程序中?

4

1 回答 1

1

请参阅http://help.adobe.com/en_US/enterpriseplatform/10.0/AEPDeveloperGuide/WS8cbf8723eeed7311-4cca458e1328d74a115-7fff.html

像模块包一样,没有特殊的编译要求。您可以以任何方便的方式构建应用程序包 SWF。但是请注意,应用程序包必须包含编组支持。

这对于 Flex 3 是自动的,但对于 Flex 4,您必须强制在 SWF 中包含 MarshallingSupport 类。

对于 Flex 4,这可以通过在应用程序代码中引用 MarshallingSupport 类来完成(如前面的示例所示)。您还可以使用以下选项在 mxmlc 命令行上显式强制包含 MarshallingSupport 类:

-includes+=mx.managers.systemClasses.MarshallingSupport
于 2012-06-27T09:41:17.170 回答