我们正在将Flex-3.2应用程序迁移到Flex 4.1,主要是为了利用新的文本流/引擎功能.在第一步中,我们决定进行仅针对MX和Flex-3兼容模式的编译.
感谢一些有用的资源(
http://www.adobe.com/devnet/flex/articles/flexbuilder3_to_flashbuilder4.html
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)注入"Ôª"字符的问题.
假设你有
private static const INCLUDE_MY_DEBUG_CODE:Boolean = false;
public function runMyDebugCode():void
{
if ( INCLUDE_MY_DEBUG_CODE )
{
callADebugFunction();
}
}
private function callADebugFunction():void
{
...
}
Run Code Online (Sandbox Code Playgroud)
鉴于没有其他对callADebugFunction的引用,是否可以保证callADebugFunction不是编译构建的一部分?