我们正在将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中引入)到许多布局问题,以及事件调度中的差异(例如我们的遗产之一)组件监听add事件,它似乎不再有了。)
似乎关于此的文档很少。我想找到一份包含详细更改的列表,这样我们就不必依赖质量保证来绊倒所有问题。
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)注入“Ôª”字符的问题
答案 0 :(得分:1)
让我们看看你的一些疑惑......
1)自从Flash player 9发布以来,添加永远不是一个可靠的事件。这是一个常见的错误。尝试从displaylist中创建一个movieclip,并在其中添加一个具有Event.ADDED侦听器的子项。在某些情况下(不知道到底是什么情况)它不起作用(Adobe Fail)。但是,相反,“添加”flex事件,一旦你想检测它是否已经在你的应用程序显示列表中,就使用“added”或“addedToStage”。
2)失败。检查框架的布局管理器源代码。
3)我从未见过这个。 (即使在兼容模式下)。你能举个例子吗?您是否检查过应用程序编码是否与您在字符串上使用的编码相同?由于字符编码(或者你的编辑器),字符串表可能会造成一些混乱。尝试其他编辑器并使用SED验证Linux shell上的代码文件内容。使用find和sed,您可以轻松修复它。