在兼容模式下从Flex3迁移到4后的运行时问题

Ste*_*fan 19 apache-flex flex3 flex4

我们正在将Flex-3.2应用程序迁移到Flex 4.1,主要是为了利用新的文本流/引擎功能.在第一步中,我们决定进行针对MX和Flex-3兼容模式的编译.

感谢一些有用的资源(

http://www.adobe.com/devnet/flex/articles/flexbuilder3_to_flashbuilder4.html

任何Flex 4迁移体验?

http://www.adobe.com/devnet/flex/articles/flex3and4_differences_02.html

)我能够编译我们的应用程序.

但我发现自己对运行时差异的数量感到惊讶,这些差异范围从我无法将ResultEvent.currentTarget转换为HTTPService(显然是在3.5中引入)到许多布局问题,以及事件调度中的差异(例如,我们的一个遗留组件监听它只是似乎没有得到的添加事件).

似乎关于此的文档很少.我想找到一个包含详细更改的列表,这样我们就不必依赖QA来绊倒所有问题.

这份文件列出了一些,但似乎并不详尽. 有人有更好的记录变更列表吗?

谢谢Stefan

PS.到目前为止我找到的具体例子清单:

1)在Flex 4中,不会触发add事件:

<?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>
Run Code Online (Sandbox Code Playgroud)

现在在Flex 3中执行相同操作,您将看到两个事件都会触发.

显然,这是一个错误.可能有可能解决这个问题,但肯定会大大降低我的水平或信任.

2)对话框/弹出窗口显示镜像的所有内容.

一个bug也是.易于解决,但有什么明显的滑动?

3)注入"Ôª"字符的问题.

见这里的帖子.

man*_*ysz 1

让我们来看看你的一些疑问...

1) 自 Flash Player 9 发布以来,add 从来就不是一个可靠的事件。这是一个常见的错误。尝试从显示列表中创建一个影片剪辑,并在其中添加一个具有 Event.ADDED 侦听器的子剪辑。在某些情况下(不知道到底是什么情况)它不起作用(Adobe Fail)。但是,一旦您想要检测它是否已在应用程序显示列表中,请使用“added”或“addedToStage”来代替“add”flex 事件。

2)失败。检查框架的布局管理器源代码。

3)我从来没有见过这个。(即使在兼容模式下)。你能举个例子吗?您是否检查过应用程序编码是否与您在字符串上使用的相同?也许字符串表可能由于字符编码(或者可能是您的编辑器)而造成一些混乱。尝试其他编辑器并使用 SED 在 Linux shell 上验证代码文件内容。使用 find 和 sed 您可以轻松修复它。