RangeError: Error #2006: 提供的索引超出范围。

flex 3中使用PopUpManager.addPopUp()添加对象时有时会出现(RangeError: Error #2006: 提供的索引超出范围。)的错误,网上提供的解决办法是添加如下代码:

  1. if (_disDo.parent == null)  
  2. {  
  3.     PopUpManager.addPopUp(_disDo, this);  
  4. } else   
  5. {  
  6.     PopUpManager.bringToFront(_disDo);                      
  7. }  

 但是运行后又会出现(TypeError: Error #1009: 无法访问空对象引用的属性或方法)的错误。

下面是我的解决方法:

  在  PopUpManager.addPopUp()方法之前将要添加的空间添加到Panel中,代码如下:

var panel:Panel = new Panel();

panel.addChild(legend);

PopUpManager.addPopUp(legend,this,false); 

      但是在addPopUp方法中并未使用panel对象,使用的还是legend对象,问题倒是解决了,但是不知道为什么,新手,请高手帮忙解释一下。 

你可能感兴趣的:(error)