после того как отрабатывает remove(), MovieClip "dates" не удаляется, а удаляется он только после завершения cbListener.change = function(evt_obj:Object).

Код AS1/AS2:
// Create dateChoose ComboBox
this.createClassObject(mx.controls.ComboBox,"dateChoose",this.getNextHighestDepth(),{_y:10, _x:120});
dateChoose.addItem("Hoy");
dateChoose.addItem("Dia");
dateChoose.addItem("Period");
// Create container:MovieClip for Dates
var container:MovieClip = this.createEmptyMovieClip("container", this.getNextHighestDepth());
// Create listener object.
var cbListener:Object = new Object();
var dfFListener:Object = new Object();
var dfTListener:Object = new Object();
// dateChoose.change
cbListener.change = function(evt_obj:Object) {
var depth:Number = dates.getDepth();
remove();
// Add dfF and dfT to duplicated MovieClip "dates"
if (dateChoose.value == "Dia") {
duplicateDates();
dates.createClassObject(mx.controls.DateField,"dfF",0,{_x:0});
dates._x = 120;
dates._y = 50;
// Add listener objects to dfF DateField
dates.dfF.addEventListener("change",dfFListener);
}
if (dateChoose.value == "Period") {
duplicateDates();
dates.createClassObject(mx.controls.DateField,"dfF",0,{_x:0});
dates.createClassObject(mx.controls.DateField,"dfT",1,{_x:110});
dates._x = 60;
dates._y = 50;
// Add listener objects to dfF and dfT DateFields
dates.dfF.addEventListener("change",dfFListener);
dates.dfT.addEventListener("change",dfTListener);
}
};
// dates.dfF.change
dfFListener.change = function(evt_obj:Object) {
trace(dates.dfF.selectedDate);
};
// dates.dfT.change
dfTListener.change = function(evt_obj:Object) {
trace(dates.dfT.selectedDate);
};
// Add listener object to dateChoose ComboBox
dateChoose.addEventListener("change",cbListener);
function remove() {
removeMovieClip(this._parent.dates);
}
function duplicateDates() {
var duplicate:MovieClip;
duplicate = this.container.duplicateMovieClip("dates", this.getNextHighestDepth(), {_y:50});
}
что не так?
и ещё один вопрос! как сделать так, чтобы ComboBox был сверху MovieClip "dates"???