【问题标题】:mxmlc compiles differently under linux and windows?mxmlc 在 linux 和 windows 下的编译方式不同?
【发布时间】:2009-03-11 18:16:15
【问题描述】:

我有一个项目,其中包含由单个预加载器 swf 加载的多个组件。

预加载器 swf 是严格的 AS3(无 flex)并使用加载器加载两个不同的 swf,它们都使用 flex 库(静态编译,而不是 rsl)。

当我在 linux 下编译所有三个并运行生成的预加载器时,其中一个 swf 无法正确加载,并引发下面的异常(在这篇文章的底部)。

如果我在 Windows 中使用相同的 ant 任务编译相同的组件,则该组件可以正常加载而不会出错。 windows 文件也小了 683 字节。

在 linux 和 windows 下使用 flex SDK 3.2.0 和 3.3.0 也是如此。

你见过这种行为吗?您能否就为什么会发生这种情况或如何确定问题所在提供任何建议?

TypeError: Error #1009: Cannot access a property or method of a null object reference.
at mx.managers::FocusManager/activate()
at mx.managers::SystemManager/activateForm()
at mx.managers::SystemManager/activate()
at mx.core::Application/initManagers()
at mx.core::Application/initialize()
at OC_Footer/initialize()
at mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::childAdded()
at mx.managers::SystemManager/initializeTopLevelWindow()
at mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::docFrameHandler()
at mx.managers::SystemManager/docFrameListener()

【问题讨论】:

标签: windows linux apache-flex


【解决方案1】:

等等,您是否在每个平台上使用不同版本的 SDK?这肯定会导致一些差异(至少在 swf 的大小上......)

IIUC 在浏览器中加载页面时会出现此错误,对吗?仅从堆栈跟踪很难判断出了什么问题,但我可以告诉你,我曾经在 Windows 上遇到过类似的错误,它与键盘事件有关(例如,当弹出窗口可见时,使用 tab 键在元素之间移动,和类似的东西)。抱歉,我无法提供更准确的诊断。

【讨论】:

  • 抱歉不清楚,linux和windows上的sdk版本相同。此外,它可以正常工作,在 Windows 上编译此组件时不会出现任何错误。
  • 另外要明确一点,这三个组件最初都是在linux机器上编译的。其中之一不加载。从 linux 盒子中取出另外两个,并从 windows 盒子中添加第三个,让整个框架发挥作用。
【解决方案2】:

我不确定我是否解决了真正的问题(为什么不同操作系统下的编译不同),但我发现较新版本的 flex SDK 表现出相同的问题问题。

我在这里为这个问题创建了一个错误:

https://bugs.adobe.com/jira/browse/SDK-20147

简而言之,构建 3958(在我创建错误时 flexbuilder 的一个默认值 - 这可能仍然是正确的)似乎有许多小错误。升级 flex SDK 构建 4852 可以缓解症状,我可以在多个环境中成功构建项目。

【讨论】:

    猜你喜欢
    • 2013-01-02
    • 2010-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多