Похоже, вы неправильно строите свое событие. Первый параметр объекта Event всегда должен быть строкой. Так что в этом случае вы бы хотели всегда использовать одну и ту же строку, чтобы вы могли прослушивать событие. Как выглядит ваш класс resultUpdatedEvent? Вы хотите, чтобы это выглядело примерно так:
package myEvents
{
import flash.events.Event;
public class PropertyChangeEvent extends Event
{
public static const PROPERTY_CHANGE:String = "propertyChange";
public var result:String = "";
// Public constructor.
public function PropertyChangeEvent (type:String,
result:String="") {
// Call the constructor of the superclass.
super(type);
// Set the new property.
this.result= result;
}
// Override the inherited clone() method.
override public function clone():Event {
return new PropertyChangeEvent(type, result);
}
}
}
Таким образом, когда вы отправляете событие, вы можете построить событие следующим образом:
new PropertyChangeEvent(PropertyChangeEvent.PROPERTY_CHANGE, result);
Таким образом, вы слушаете событие «PropertyChangeEvent.PROPERTY_CHANGE», которое никогда не меняется. Теперь проблема заключается в том, что ваш прослушиватель событий, вероятно, прослушивает событие, представленное строкой, сохраненной в результате, и, очевидно, это меняется после того, как он установлен в первый раз, поэтому нет способа назначить ему прослушиватель.
Для получения дополнительной информации о том, как события работают в AS3: http://livedocs.adobe.com/flex/3/html/help.html?content=events_02.html