我们正在将 Flex-3.2 应用程序迁移到 Flex 4.1,主要是为了利用新的文本流/引擎功能。第一步,我们决定为 进行编译。仅 MX 和 Flex-3 兼容模式 .
感谢一些有用的资源(
http://www.adobe.com/devnet/flex/articles/flexbuilder3_to_flashbuilder4.html
Any Flex 4 migration experience?
http://www.adobe.com/devnet/flex/articles/flex3and4_differences_02.html
) 我能够编译我们的应用程序。
但是我发现自己对运行时差异的数量感到惊讶,从我无法将 ResultEvent.currentTarget 转换为 HTTPService 的问题(显然是在 3.5 中引入的)到许多布局问题到事件分派(dispatch)的差异(例如,我们的一个遗留组件监听它似乎不再获得的添加事件)。
似乎这方面的文档很少。我想找到一个包含详细更改的列表,这样我们就不必依赖 QA 来偶然发现所有问题。
This documents lists some ,但似乎并不详尽。
有人有更好的记录更改列表吗?
谢谢
斯特凡
PS。到目前为止我找到的具体示例列表:
1) 在 Flex 4 中,添加事件不会被触发:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:mx="library://ns.adobe.com/flex/mx" layout="absolute" minWidth="955" minHeight="600">
<fx:Script>
<![CDATA[
private function notFired():void
{
trace("ADDED");
}
private function fired():void
{
trace("COMPLETE");
}
]]>
</fx:Script>
<mx:TextArea add="notFired();" creationComplete="fired();"/>
</mx:Application>
现在在 Flex 3 中执行相同的操作,您将看到两个事件都被触发。
显然,this is a bug .可能可以解决这个问题,但肯定会大大降低我的水平或信任度。
2) 对话框/弹出窗口显示所有镜像的内容。
A bug as well .很容易解决,但是这么明显的东西怎么会滑倒呢?
3) 注入(inject)“Ôª”字符的问题。
See post here.
最佳答案
让我们看看你的一些疑问......
1) 自 Flash Player 9 发布以来,添加从来都不是可靠的事件。这是一个常见的错误。尝试从显示列表中创建一个影片剪辑,并在其中添加一个具有 Event.ADDED 监听器的子项。在某些情况下(不知 Prop 体是什么情况)它不起作用(Adobe Fail)。但是,如果您想检测它是否已经在您的应用程序显示列表中,请使用“add”或“addedToStage”而不是“add”flex 事件。
2) 失败。检查框架的布局管理器源代码。
3)我从来没有见过这个。 (即使在兼容模式下)。你能举个例子吗?您是否检查过应用程序编码是否与您在字符串上使用的相同?由于字符编码(或者可能是您的编辑器),字符串表可能会造成一些困惑。尝试其他编辑器并使用 SED 在 linux shell 上验证代码文件内容。使用 find 和 sed 您可以轻松修复它。
关于apache-flex - 在兼容模式下从 Flex3 迁移到 4 后的运行时问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3524450/