Flex SkinPart定义为必需false。编译器会生成错误

时间:2012-06-11 08:26:32

标签: flex compilation

我有一个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表示内部出错。

感谢。

1 个答案:

答案 0 :(得分:1)

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

[SkinPart(required="true")]

[SkinPart]

现在。我尝试保持生成的Actionscript尝试找到问题,但我没有看到任何会导致它的问题。我尝试这个的原因是因为最初编译器错误是关于我自己的代码中的变量需要SkinParts(但实际上根本不是皮肤部分)。基于帖子中的一条评论我在我的代码中扫描了任何非ascii字符,但没有任何。