我之前在控制台窗口中看到过“undefined”,但我可以弄明白它的含义。这一次,我在CollectionEvent (super(type, bubbles, cancelable);
)的构造函数的开头行中得到它。我认为它是由对XMLListCollection
的写入触发的。似乎没有任何未定义的东西 - this
指针看起来很好,所有参数都可以。它有一个很大的堆栈跟踪,但没有关于什么是未定义的有用信息。如何进入下一个调试步骤?
undefined at mx.events::CollectionEvent()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\events\CollectionEvent.as:116] at mx.collections::ListCollectionView/handlePropertyChangeEvents()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:1245] at mx.collections::ListCollectionView/listChangeHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:1120] at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at mx.collections::XMLListAdapter/itemUpdateHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:523] at mx.collections::XMLListAdapter/itemUpdated()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:321] at mx.collections::XMLListAdapter/xmlNotification()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:620] at Function/()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\utils\XMLNotifier.as:81] at AddressNode/DisplayLinesInLabels()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\AddressNode.as:192] at AddressTree/DisplayLinesInLabels()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\AddressTree.as:37] at UMTAControl/ValidateDisplayLines_()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:90] at UMTAControl/OnChangeXML()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:82] at UMTAControl/OnChXML()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:79] at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at mx.collections::ListCollectionView/dispatchEvent()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:879] at mx.collections::ListCollectionView/handlePropertyChangeEvents()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:1248] at mx.collections::ListCollectionView/listChangeHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:1120] at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at mx.collections::XMLListAdapter/itemUpdateHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:523] at mx.collections::XMLListAdapter/itemUpdated()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:321] at mx.collections::XMLListAdapter/xmlNotification()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:620] at Function/()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\utils\XMLNotifier.as:81] at AddressNode/DisplayLinesInLabels()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\AddressNode.as:192] at AddressTree/DisplayLinesInLabels()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\AddressTree.as:37] at UMTAControl/ValidateDisplayLines_()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:90] at UMTAControl/OnChangeXML()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:82] at UMTAControl/OnChXML()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:79] at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at mx.collections::ListCollectionView/dispatchEvent()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:879] at mx.collections::ListCollectionView/handlePropertyChangeEvents()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:1248] at mx.collections::ListCollectionView/listChangeHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:1120] at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at mx.collections::XMLListAdapter/itemUpdateHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:523] at mx.collections::XMLListAdapter/itemUpdated()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:321] at mx.collections::XMLListAdapter/xmlNotification()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:620] at Function/()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\utils\XMLNotifier.as:81] at AddressNode/DisplayLinesInLabels()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\AddressNode.as:192] at AddressTree/DisplayLinesInLabels()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\AddressTree.as:37] at UMTAControl/ValidateDisplayLines_()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:90] at UMTAControl/OnChangeXML()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:82] at UMTAControl/OnChXML()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:79] at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at mx.collections::ListCollectionView/dispatchEvent()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:879] at mx.collections::ListCollectionView/handlePropertyChangeEvents()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:1248] at mx.collections::ListCollectionView/listChangeHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:1120] at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at mx.collections::XMLListAdapter/itemUpdateHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:523] at mx.collections::XMLListAdapter/itemUpdated()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:321] at mx.collections::XMLListAdapter/xmlNotification()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\collections\XMLListAdapter.as:620] at Function/()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\utils\XMLNotifier.as:81] at AddressNode/DisplayLinesInLabels()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\AddressNode.as:192] at AddressTree/DisplayLinesInLabels()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\AddressTree.as:37] at UMTAControl/ValidateDisplayLines_()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:90] at UMTAControl/OnChangeXML()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:82] at UMTAControl/OnChXML()[C:\Users\PL\Documents\projects\AMHS-FlexProject\src\ubimex\modules\MTARoutingControl\UMTAControl.as:79] at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent()
答案 0 :(得分:0)
那是对的,"未定义的其他实例"都是由于无限递归导致堆栈溢出(而不是提供深思熟虑反馈的那种)。
我想象这些回调类似于MFC模型,其中消息排队并且仅在应用程序开发人员的代码执行完毕时处理(并且我认为重复的消息有时可能已合并)。显然,这不是发生了什么 - 正在进行更改并立即执行回调。我想我无法可靠地检测到XMLListCollection
的变化:(
谢谢你们。