Hi, all.
I'm getting a trouble using 'mx.controls.ComboBox'.
Could you help and give us a correct code.
I got an error 'TypeError: Error #1009' when I clicked a combobox on
inactive window. [see stack traces below]
So I checked the source code, and I'm afraid that it's a kind of program
bug.
We are using a custom ComboBox that extends 'mx.controls.ComboBox' which is
made by ourselves.
Though the error has occured on the component, it occur in not only our
ComboBox, but also 'mx.controls.ComboBox'.
The immediate cause is a variable 'tween' is null (not initialized) at
line:1912 of ComboBox.as.
When I clicked the ComboBox, a method 'displayDropdown' is running.
Then a variable 'inTween' get change to 'true' when the process has come to
line:1871.
And a method 'UIComponentGlobals.layoutManager.validateNow()' is called at
line:1877.
After that an event 'styleChange' has fired, and 'destroyDropDown' is called
from an event handler 'styleChanged' at line:1416
In 'destroyDropDown', a code is calling 'tween.endTween()' after 'inTween'
checked, but 'tween' is not initialized yet.
The 'tween' is initializing in a method 'displayDropdown' at line:1890 after
calling 'UIComponentGlobals.layoutManager.validateNow()'.
So 'tween' still has been null.
We are thinking the code should be changed from "if (inTweet) " to "if
(tween != null && inTween) {" at line:1919.
--- Stack Traces ----
TypeError: Error #1009: null ...(Japanese message)...
at
mx.controls::ComboBox/destroyDropdown()[E:\dev\4.y\frameworks\projects\mx\src\mx\controls\ComboBox.as:1912]
at
mx.controls::ComboBox/styleChanged()[E:\dev\4.y\frameworks\projects\mx\src\mx\controls\ComboBox.as:1408]
at
mx.core::UIComponent/notifyStyleChangeInChildren()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:11332]
at
mx.core::Container/commitProperties()[E:\dev\4.y\frameworks\projects\mx\src\mx\core\Container.as:3247]
at
mx.core::UIComponent/validateProperties()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:8219]
at
mx.managers::LayoutManager/validateProperties()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\LayoutManager.as:597]
at
mx.managers::LayoutManager/doPhasedInstantiation()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\LayoutManager.as:813]
at
mx.managers::LayoutManager/validateNow()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\LayoutManager.as:878]
at
mx.controls::ComboBox/displayDropdown()[E:\dev\4.y\frameworks\projects\mx\src\mx\controls\ComboBox.as:1869]
at
mx.controls::ComboBox/downArrowButton_buttonDownHandler()[E:\dev\4.y\frameworks\projects\mx\src\mx\controls\ComboBox.as:2027]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at
mx.core::UIComponent/dispatchEvent()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:13152]
at
mx.controls::Button/http://www.adobe.com/2006/flex/mx/internal::buttonPressed()[E:\dev\4.y\frameworks\projects\mx\src\mx\controls\Button.as:2483]
at
mx.controls::Button/mouseDownHandler()[E:\dev\4.y\frameworks\projects\mx\src\mx\controls\Button.as:2744]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at
mx.core::UIComponent/dispatchEvent()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:13152]
at
mx.managers::SystemManager/mouseEventHandler()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\SystemManager.as:2918]
* This stack traces which we got while using Adobe Flex 4.6.
* But The source code 'Adobe Flex 4.6' is same as 'Apache Flex 4.8's.
It's the first time to send to mailing list and I'm not good at English.
Please excuse me if you may not understand or you feel bad with my poor
English.
Regards.
Yusuke, MASUDA
CAC Corporation (Japan)