为什么编译器抱怨可能未定义的属性

时间:2010-01-03 16:51:02

标签: flex mxml flex4 mxmlc gumbo

我有一个非常简单的Flex 4练习程序(Gumbo)。

package
{
    import mx.controls.ColorPicker;
    import mx.controls.Label;
    import mx.events.ColorPickerEvent;
    import flash.display.Sprite;

    public class testClass extends Sprite
    {
       private var cPicker:ColorPicker = new ColorPicker();
       private var lbl:Label;

        public function testClass()
        {
            cPicker.addEventListener(ColorPickerEvent.CHANGE,
                colorPicker_change);
            cPicker.move(10, 10);
            addChild(cPicker);

            lbl = new Label();
            lbl.text = cPicker.hexValue;
            lbl.move(10, 40);
            addChild(lbl);
        }

        private function colorPicker_change(evt:ColorPickerEvent):void
        {
            lbl.text = cPicker.hexValue; // ff0000
        }
    }
}

但是在命令行上使用'mxmlc.exe testClass.as'构建后,我得到了......

  
    

C:\ src> mxmlc testClass.as正在加载配置文件     C:\ flex_sdk_4 \框架\柔性-config.xml中     C:\ src \ testClass.as(21):col:     32错误:访问可能未定义     通过参考提供的价值     与静态类型     为mx.controls:颜色拾取

  
        lbl.text = cPicker.hexValue;
                           ^ 
     

C:\ src \ testClass.as(28):col:   32错误:访问可能未定义   通过参考提供的价值   与静态类型   为mx.controls:颜色拾取

        lbl.text = cPicker.hexValue; // ff0000
                           ^

为什么认为 cPicker 是静态的?或 cPicker.hexValue 未定义?

似乎即使在使用 import 关键字在代码中导入ColorPicker库之后,我也不得不在命令行上导入它以进行构建。这是对的吗?

1 个答案:

答案 0 :(得分:2)

根据我对documentation hexValue的阅读,不是ColorPicker上可用的属性。你的意思是selectedColor