我正在考虑在flex中使用子应用程序,以启用多版本编译。
具体来说,我希望有一个Flex 4.x主机应用程序来加载Flex 3.6子应用程序。
文档声明这是可能的(以及子应用程序的目的)。但是他们指定了这个:
在编译这些类型的应用程序时,您应该包括 MarshallingSupport类进入主应用程序和 子应用程序。您可以使用includes编译器参数执行此操作 以下示例显示:
-includes=mx.managers.systemClasses.MarshallingSupport
但是,据我所知,MarhsallingSupport
直到4.x版本才被包括在内。
查看3.5.0.12683和3.4.1.10084的mx.managers.systemClasses
包显示没有MarshallingSupport
(see svn here和here)
对于3.6a也是如此(可下载SDK,但无法找到源代码)。
我错过了什么吗?我怎么能在3.x子应用程序中包含这个类,当它不可用时?
答案 0 :(得分:1)
与模块包类似,没有特殊的编译要求。你可以建立 应用程序捆绑SWF以任何方便的方式。但请注意, 应用程序包必须包括编组支持。
这是自动使用Flex 3 ,但使用Flex 4,您必须强制包含 您的SWF中的MarshallingSupport类。
对于Flex 4,这可以 通过在应用程序中引用MarshallingSupport类来完成 代码(如上例所示)。你也可以明确强迫 在mxmlc命令行中包含MarshallingSupport类 使用以下选项:
-includes+=mx.managers.systemClasses.MarshallingSupport