1

我有一个s:SkinnableContainer基类,将几个皮肤部分定义为[SkinPart(required="false")]. 这个类被几个不同的类子分类,这些类也有定义,例如[SkinPart(required="true")]. 每个子类都有自己的皮肤,实现了所有required=true皮肤部分。其中一些实现了required=false皮肤部分。

flex 编译器随机产生以下错误:

The required skin part '__moduleFactoryInitialized' is missing. ThresholdPercentageWidgetSkin.mxml  /am-apm-app-ui/src/main/flex/styles/skins   line 12 Flex Problem
The required skin part '_selectedApplication' is missing.   ThresholdPercentageWidgetSkin.mxml  /am-apm-app-ui/src/main/flex/styles/skins   line 12 Flex Problem
The required skin part '_skinClass' is missing. ThresholdPercentageWidgetSkin.mxml  /am-apm-app-ui/src/main/flex/styles/skins   line 12 Flex Problem
The required skin part 'initialize' is missing. ThresholdPercentageWidgetSkin.mxml  /am-apm-app-ui/src/main/flex/styles/skins   line 12 Flex Problem
The required skin part 'initialize' is missing. ThresholdPercentageWidgetSkin.mxml  /am-apm-app-ui/src/main/flex/styles/skins   line 12 Flex Problem
The required skin part 'ux_title' is missing.   ThresholdPercentageWidgetSkin.mxml  /am-apm-app-ui/src/main/flex/styles/skins   line 12 Flex Problem
The required skin part 'ux_titleSignpost' is missing.   ThresholdPercentageWidgetSkin.mxml  /am-apm-app-ui/src/main/flex/styles/skins   line 12 Flex Problem
The skin part type 'components:BooleanButtonBar' must be assignable to 'spark.components:Button'.   ThresholdPercentageWidgetSkin.mxml  /am-apm-app-ui/src/main/flex/styles/skins   line 12 Flex Problem
The skin part type 'components.renderers:StateRenderer' must be assignable to 'spark.components:NumericStepper'.    ThresholdPercentageWidgetSkin.mxml  /am-apm-app-ui/src/main/flex/styles/skins   line 12 Flex Problem
The skin part type 'spark.components:NumericStepper' must be assignable to 'components.renderers:StateRenderer'.    ThresholdPercentageWidgetSkin.mxml  /am-apm-app-ui/src/main/flex/styles/skins   line 12 Flex Problem
The skin part type 'spark.components:NumericStepper' must be assignable to 'spark.components:Label'.    ThresholdPercentageWidgetSkin.mxml  /am-apm-app-ui/src/main/flex/styles/skins   line 12 Flex Problem
The skin part type 'spark.components:VGroup' must be assignable to 'spark.components.supportClasses:TextBase'.  ThresholdPercentageWidgetSkin.mxml  /am-apm-app-ui/src/main/flex/styles/skins   line 12 Flex Problem

例如,required skin part 'ux_title' is missing错误与标签有关required=false

此外,提到的一些皮肤部分是内部的。例如-__moduleFactoryInitialized和。_skinClassinitialize

现在到 woodoo 部分 - 在上述文件之一中添加新行,将生成成功的编译。

我尝试从看不见的特殊字符中清除文件。

任何线索为什么会发生?


我试过你建议的解决方法 - 没有用。但我得到了稍微不同的错误

[ERROR] <filename>[13,-1] The skin part type 'spark.components:Label' must b
 e assignable to 'spark.components:Button'.
[ERROR] <filename>:[13,-1] The skin part type 'components.help:SignPost' must
 be assignable to 'spark.components:Button'.

和上面两个例子一样。注意 [13,-1] 行/列对。-1 表示内部出现问题。

谢谢。

4

1 回答 1

1

我刚刚遇到了同样的问题。它只发生在我们的 CI 服务器上。我在我的工作站上尝试了所有可用的 4.6 编译器,但无法使用相同的代码重现该问题。作为一项工作,我改变了

[SkinPart(required="true")]

[SkinPart]

目前。我尝试保留生成的 Actionscript 以尝试定位问题,但我没有看到任何会导致问题的东西。我尝试这样做的原因是因为最初编译器错误是关于我自己的代码中的变量需要 SkinParts(但实际上根本不是皮肤部分)。根据帖子中的一条评论,我扫描了代码中的任何非 ascii 字符,但没有。

于 2012-06-25T14:48:18.360 回答