在兼容模式下从Flex3迁移到4之后的运行时问题
我们将Flex-3.2应用程序迁移到Flex 4.1,主要是利用新的文本流/引擎功能。在第一步中,我们决定在MX-only和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中引入的)到许多布局问题到事件调度的差异(例如我们的一个遗留组件侦听添加事件,它似乎不再得到了)。 看来这里有很少的文件。我想找到一个具有详细变化的列表,以便我们不必依靠质量保证来绊倒希望所有问题。 This documents lists some,但似乎并不详尽。 谢谢 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> 现在在Flex 3中做同样的事情,你会看到这两个事件都发生。 显然,this is a bug.可能有可能解决这个问题,但肯定会大大降低我的水平或信任。 2)对话框/弹出窗口显示所有镜像内容。 A bug as well.易于解决,但怎么会有明显的滑动? 3)注入“?a”字符的问题。 See post here. 解决方法
让我们看看你的一些疑惑…
1)添加从来不是一个可靠的事件,因为flash播放器9发布。这是一个常见的错误。尝试从显示列表中创建一个movieclip,并在其中添加一个具有Event.ADDED侦听器的子对象。在某些情况下(不知道什么情况)它不起作用(Adobe失败)。但是,而是“添加”flex事件,一旦您想检测到它是否已经在您的应用程序显示列表中,请使用“added”或“addedToStage”。 2)失败。检查框架的布局管理器源代码。 3)我从来没有见过这个。 (即使在兼容模式下)。你能举个例子吗你检查了你的字符串使用的编码是否相同?也许字符串表可能由于字符编码(或者您的编辑器)而导致混淆。尝试其他编辑器并使用SED验证linux shell上的代码文件内容。有了一个find和一个sed,你可以很容易地修复它。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |