问题标签 [mxmlc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
5301 浏览

apache-flex - 如何使我的 Ant 生成的 swf 尽可能小?

我有一个 flex 项目,如果我在我的 swf 上使用带有 RSL 的 flash builder 构建应用程序的发布版本,则为 115k。但是,如果我使用 ant 构建相同的应用程序,则 swf 为 342k。如果没有 RSL,swf 为 520k。

如何让 swf 与 FlashBuilder 构建的一样小?

这是我的 ant 文件,我还有另一个复制 rsls 的任务。

0 投票
2 回答
602 浏览

apache-flex - 为什么 Adob​​e Flex 在编译时会从 Flash 中去除嵌入符号的 ActionScript?

我想要一个动画在循环时调度自定义事件。很明显,甚至 trace() 都没有运行。经过一番搜索,我在 Adob​​e 找到了以下内容:
http://livedocs.adobe.com/flex/3/html/help.html?content=embed_4.html
“如果 SWF 文件包含任何 ActionScript 代码,Flex 会打印一个警告在编译期间,然后从嵌入符号中去除 ActionScript。这意味着您只能嵌入符号本身。”

我还在以下网址找到了 Grant Skinner 的解决方法:http:
//gskinner.com/blog/archives/2007/03/using_flash_sym.html

所以,我可以继续,但我仍然想知道。为什么在使用元标记将符号嵌入 Flex 应用程序时,mxmlc 从 Flash 编译资源中去除 ActionScript?

0 投票
1 回答
443 浏览

actionscript-3 - “主”类的访问阶段

我有以下动作脚本:

我用mxmlc Application.as. 我注意到的是 Application 不是舞台对象,就像我想象的那样,因为舞台的宽度和高度没有改变。

你如何进入舞台Application

0 投票
1 回答
8677 浏览

apache-flex - 如何使用 Ant 导出相对路径

我正在使用 Ant 和 mxmlc 将 ActionScript 类和 MXML 编译成 swfs,同时保持 Flex Builder (Flash Builder) 项目的默认组织。我的许多 ActionScript 类都位于项目子目录中,因此我的项目按如下方式组织:

此目录结构维护 Flash Builder 项目的默认目录结构,因此我可以从 Flash Builder IDE 执行按钮构建。我已将 Ant 构建 xml 添加到该项目中,因此我也可以从命令行构建。我正在尝试创建可移植的 ant 构建脚本,这些脚本需要最少的更改才能在其他项目中重用。除了派生相对路径之外,我拥有我想要的一切。

项目根目录下的 build-imports.xml 文件包含以下内容:

而子项目文件夹包含 build-imports.xml 具有以下内容:

请注意,子项目 build-imports.xml 沿着目录层次结构向上走,直到到达根 build-imports.xml,然后我在那里设置了 project.root.dir。

然后我可以使用 ${project.root.dir}/bin-debug 来指定放置我的二进制文件的位置。我唯一的问题是,我不知道如何创建与 src 文件夹下相同的目录结构。我需要能够导出相对路径或执行一些字符串操作来创建新目录。

考虑到上述信息,我如何采用已知路径,例如:
${project.root.dir}/src/app
并派生目录路径,例如:
${project.root.dir}/bin-debug/app

我找到了一些关于 Ant-contribu propertyregex 任务的信息,这将允许一些字符串操作,但我希望那里有一个 Ant 大师可以指出一个简单的解决方案。我相信这很有可能作为 Ant 新手,我只是忽略了显而易见的事情。

0 投票
1 回答
5582 浏览

ant - 如何让 Flex Builder 3 生成两个构建:一个“-use-network=true”,另一个“-use-network=false”?

我正在构建一个需要在两种不同的部署场景下运行的 Flex 应用程序:

首先,应用程序将托管在网络上。SWF 加载一些外部资源(图像、文本),因此需要网络访问,这是 Flex Builder 3 默认构建标志"-use-network=true"。我不需要做任何特别的事情;它只是工作。

其次,将应用程序写入 CD 并启用自动运行以启动托管 SWF 的 index.html。SWF仍然需要能够加载相同的外部资源,这些外部资源位于 CD 上的子文件夹中。由于这些文件位于 CD 上,因此它们被视为本地文件,因此 Flash 安全性要求使用"-use-network=false". 我将它添加到 Flex 项目的“属性”对话框中“Flex 编译器”下的“附加编译器参数”文本框中。

这一切都按预期工作,但必须手动修改 Flex Builder 项目设置以根据具体情况添加或删除该标志是很乏味的。

理想情况下,我想只构建一次项目并拥有多个输出文件夹:一个用于网络部署场景,另一个用于本地部署场景。

最好的方法是什么?迁移到 Ant 构建是要走的路,还是有更简单的方法?如果 Ant 构建配置是正确的方法,您是否有共享此类多个构建配置的示例?

谢谢你的帮助!

0 投票
3 回答
1953 浏览

apache-flex - 使用 ANT 编译 flex 应用程序时出现运行时错误

我正在使用 Flex Builder Pro 的许可版本来开发应用程序。

我使用 ANT 任务编译了 swc 并成功生成了 swf。它还包含一个高级数据网格。访问此应用程序时,我收到运行时错误并且无法加载。

TypeError:错误#1007:尝试在非构造函数上进行实例化。在 mx.controls::AdvancedDataGridBaseEx/getSeparator() 在 mx.controls::AdvancedDataGridBaseEx/createHeaderSeparators() 在 mx.controls::AdvancedDataGrid/createHeaderSeparators() 在 mx.controls::AdvancedDataGridBaseEx/drawSeparators() 在 mx.controls:: AdvancedDataGridBaseEx/updateDisplayList() 在 mx.controls::AdvancedDataGrid/updateDisplayList() 在 mx.controls.listClasses::AdvancedListBase/validateDisplayList() 在 mx.managers::LayoutManager/validateDisplayList() 在 mx.managers::LayoutManager/doPhasedInstantiation( ) 在 Function/ http://adobe.com/AS3/2006/builtin::apply() 在 mx.core::UIComponent/callLaterDispatcher2() 在 mx.core::UIComponent/callLaterDispatcher()

我在构建路径中添加了 datavisualization.swc 和 datavisualization_rb.swc。

如何在没有任何运行时错误的情况下成功编译应用程序?

请帮忙。

0 投票
3 回答
359 浏览

apache-flex - 在 swf 之间共享代码

假设我有两个 swf A 和 B,在运行时,swf A 加载 swf B,我希望在它们之间共享代码,以最小化文件大小和下载时间。

如果 swf B 有一些代码(比如 com.blah.HelloWorld),我告诉编译器在 swf A 的类路径中有 swf B 的源代码,但只做一个编译时链接,而不是实际将 com.blah.HelloWorld 编译成 swf A .

这行得通,我已经尝试过了,使用 -includes 和 -externs 编译器选项。

但是,我的问题是我希望以另一种方式做到这一点。即 swf A 和 B(可能还有 swf C)都需要 com.blah.HelloWorld,但我希望将 com.blah.HelloWorld 编译成 swf A,将它作为 swf B 中的外部引用(也可能是 C .)

我尝试使用外部和包含来执行此操作,但执行此操作时会出现 ReferenceErrors。

我想在没有单独的 rsl 的情况下执行此操作,因此可以减少 http 请求的数量。这可能吗?

0 投票
0 回答
1198 浏览

apache-flex - 使用 mxmlc 编译器将 MXML 文件编译成多个 SWF 文件

我有一些 mxml 文件,我想使用配置文件将它们编译到它们各自的 SWF 文件中。目前,我可以通过使用配置文件中的 file-spec 属性将 1 个 mxml 文件编译到其各自的 SWF 文件中,但我将如何一次编译多个 mxml 文件?每个人都有一个单独的配置文件吗?我正在使用 MSBUILD 和 mxmlc 编译器。

这就是我指定要编译的 mxml 文件的方式:

0 投票
1 回答
284 浏览

apache-flex - mx:MediaPlayback Flex 标签

我正在尝试在 Bruce Eckel 的Thinking in Javagui/flex/songs.mxml书籍的第四版中进行编译,但在使用 Flex 3.4 时出现编译错误。

这是给出相同错误的示例的简化版本:

这是调用和错误:

我在这里做错了什么?

0 投票
2 回答
1197 浏览

mxmlc - Flex SDK 的 mxmlc 是否创建缓存文件或哈希以确定源代码是否已更改?

我的 ant 构建文件告诉 mxmlc.jar 重新编译目标 mxml 源。但是,如果目标 mxml 源文件未更改,则 ant 或 mxmlc 将忽略该文件并且不会创建新的 swf。这很烦人,因为我正在编辑由目标 mxml 导入的文件。当这些文件发生变化时,我需要它来重建。我猜测 mxmlc 正在某处创建一个缓存文件并比较目标 mxml(或者可能只是一个哈希)。这是正在发生的事情吗?标准的解决方法是什么?目前,我正在编辑目标 mxml 只是为了导致文件更改。