Показать сообщение отдельно
Старый 04.01.2011, 19:16
qmel вне форума Посмотреть профиль Отправить личное сообщение для qmel Найти все сообщения от qmel
  № 6  
Ответить с цитированием
qmel

Регистрация: Dec 2010
Сообщений: 23
Учел все Ваши рекомендации и замечания, alatar. Теперь чекбокс при первом вызове окна отображается правильно. Но onClear пока ничего не очищает, видимо, я не смог правильно написать обработку пользовательского события. Кажется я не обновляю массив в A, хотя посылаю событие из B.

Вот мой код класса для пользователского события

Код AS3:
package events {
 import flash.events.Event;
 
 public class BEvent extends Event {
 
  public static const B_STRING:String = "Selected Items";
 
  public var arrayOfBEvent:Array;
 
  public function BEvent(type:String, arrayOfBEvent:Array) {
     super(type);
     this.arrayOfBEvent = arrayOfBEvent;
  }
 
  override public function clone():Event {
    return new BEvent(type, arrayOfBEvent);
  }
 }
}
Вот что пишу в файле B

Код AS3:
import events.BEvent;
 
<mx:Metadata>
    [Event(name="b_event",type="events.BEvent")] 
</mx:Metadata>
 
private function onClear():void {
  UIUtils.showMessage("Clear!");
  UIUtils.removePopUp(this);
  for (var i:int = 0; i < 9; i++) {
     changeArray[i] = false ;
  }
 var bEvent:BEvent = new BEvent(BEvent.B_STRING, changeArray);
 bEvent.arrayOfBEvent = changeArray;
 dispatchEvent(bEvent);
}
В файле А

Код AS3:
import events.BEvent;
 
linkToB.addEventListener(BEvent.B_STRING, changeSettingsArray);
 
public function changeSettingsArray(event:BEvent):void{
   arrayInA = event.arrayOfBEvent;
}