1

我正在使用一个价值感知组合框,它工作正常,但最近我开始收到以下错误,当我尝试点击组合框时,错误是随机的。我不确定这是因为我在编码中所做的任何更改,或者数据提供者等的一些更改,感谢您的帮助......

TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at mx.controls::ComboBox/destroyDropdown()
    at mx.controls::ComboBox/styleChanged()
    at mx.core::UIComponent/setBorderColorForErrorString()
    at mx.core::UIComponent/commitProperties()
    at mx.controls::ComboBase/commitProperties()
    at mx.controls::ComboBox/commitProperties()
    at custom.controls::ComboBox/commitProperties()[D:\workspace\eclipse\indigo\ams\flex_src\custom\controls\ComboBox.mxml:13]
    at mx.core::UIComponent/validateProperties()
    at mx.managers::LayoutManager/validateProperties()
    at mx.managers::LayoutManager/doPhasedInstantiation()

调试器抛出

TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at mx.controls::ComboBox/destroyDropdown()
    at mx.controls::ComboBox/styleChanged()
    at mx.core::UIComponent/setBorderColorForErrorString()
    at mx.core::UIComponent/commitProperties()
    at mx.controls::ComboBase/commitProperties()
    at mx.controls::ComboBox/commitProperties()
    at custom.controls::ComboBox/commitProperties()[D:\workspace\eclipse\indigo\ams\flex_src\custom\controls\ComboBox.mxml:13]
    at mx.core::UIComponent/validateProperties()
    at mx.managers::LayoutManager/validateProperties()
    at mx.managers::LayoutManager/doPhasedInstantiation()
    at mx.managers::LayoutManager/validateNow()
    at mx.controls::ComboBox/displayDropdown()
    at mx.controls::ComboBox/downArrowButton_buttonDownHandler()
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.core::UIComponent/dispatchEvent()
    at mx.controls::Button/http://www.adobe.com/2006/flex/mx/internal::buttonPressed()
    at mx.controls::Button/mouseDownHandler()
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.core::UIComponent/dispatchEvent()
    at mx.controls::ComboBase/textInput_mouseEventHandler()

这是我的代码的一部分

[Bindable]
 private var networkExpObj:NetworkExpansion=new NetworkExpansion();
[Bindable]
 public var codeDescpResult:Object;
    <mx:FormItem label="Status"
                         required="true">
                <controls:ComboBox id="NWEXP_STATUS_ID"
                                   disabledColor="0x000000"
                                   maxWidth="150"
                                   change="validateUs()"
                                   selectedValue="{networkExpObj.NWEXP_STATUS_ID}"
                                   dataProvider="{codeDescpResult.SRV_NWE_STATUS}"/>
            </mx:FormItem>
4

1 回答 1

0

Apache Flex 4.10 中修复的问题(尚未发布)请参阅https://issues.apache.org/jira/browse/FLEX-33382

如果使用较旧的 SDK,您可以修改 mx:ComboBox 像这样添加“&& tween”检查:

private function destroyDropdown():void
{
    if (inTween && tween)
        tween.endTween();

    displayDropdown(false, null, false);
}
于 2013-02-05T02:04:23.970 回答