我明白警告的目的,但对我来说并不有用.我想抑制这些警告,但不会抑制任何其他警告,我通常认为有用.
例如,当我使用这样的代码:
/** @constructor */ public function MyClass() { addEventListener(MouseEvent.MOUSE_DOWN,onMouseDown); } protected function onMouseDown(e:MouseEvent):void {
我得到一个令人讨厌的警告:
警告:1090:迁移问题:Flash Player在运行时不会在ActionScript 3.0中自动触发onMouseDown事件处理程序.您必须首先使用addEventListener(‘mouseDown’,callback_handler)注册该事件处理程序.
有flex编辑器(mxmlc)标志(和Flash Pro设置),可以抑制actionscript警告或所有警告,但我不希望.这太笼统了
理想情况下,我可以抑制一个特定的错误/警告号码(警告#1090).
编辑:我发现更多的“高级”编译器标志与mxmlc -help高级,这看起来很有希望.具体来说,以下似乎是可能的候选人:
警告不推荐使用的事件处理程序错误
警告不推荐使用的功能错误
警告弃用的属性错误
如何让Flash使用这些?
编辑2:我在Flash User Data目录中找到了一个flex-info.xml样式的文档.
[userdatafolder] / Adobe / Flash CS4 / en / Configuration / ActionScript 3.0 / FlexInfo.xml
但是,该文件包含令人失望的评论:<! - Flash不支持大多数flex-config选项. - >,甚至在重新启动flash之后似乎也没有回应我的指令.
这很伤心
编辑3:在Adobe bug跟踪器上发现问题“Erroneous,annoying “Migration issue” warnings”.对Flex SDK进行了修复,但没有提到Flash …
解决方法
例如
/ Applications / Adobe Flash CS4 / en / Configuration / ActionScript 3.0 / EnabledWarnings.xml
您将需要编辑第29行,将enabled属性设置为false,警告标识为1090:
<warning id="1090" enabled="false" label="kWarning_DepricatedEventHandlerError">EventHandler was not added as a listener.</warning>
快速旁注:
“Flash Builder(CS4)”是一个混乱的术语.在Flex Builder 3之后,Flex Builder已经重命名为Flash Builder,没有Flash Builder CS4.常规的Flash IDE被称为Flash Professional / Flash Professional CS4,这是为了避免在类似名称的产品之间产生混淆:Flash Catalyst,Flash Builder(Flex Builder),Flash Professional.显然,这并不总是很好:)