Показать сообщение отдельно
Старый 24.11.2006, 01:33
dacino вне форума Посмотреть профиль Отправить личное сообщение для dacino Найти все сообщения от dacino
  № 1  
Ответить с цитированием
dacino

Регистрация: Nov 2006
Сообщений: 149
Отправить сообщение для dacino с помощью ICQ
Question как удалить TextInput при focusOut - получаю критическую ошибку

есть такой извратный кусок кода класса-потомка MovieClip, вызывающий критическую ошибку плеера:
Код:
import mx.utils.Delegate;
iLab = createClassObject(Label,"iLab"+depth, depth, {_x:0, _y:0, text:"12", autoSize:"left", visible:true});
		iLab.onRelease = function(){			
			this.visible = false;
			var iEdit:TextInput = _parent.createClassObject(TextInput,"iEdit"+depth+1, depth+1, {_x:this._x, _y:this._y, text:"12", _width:this._width+5, visible:true});
			var destr:Function = Delegate.create(this, edLab);
			function remm(){
				destr(iEdit);
			}
			iEdit.addEventListener("focusOut", remm); //при наступлении этого события
 //происходит ошибка вырубающая флешовый плеер, 
 //насколько я понял объект вызвавший неродное событие таким образом грохнуть нельзя
 //мув при onRelease можно удалить			
		}
		function edLab(edit:TextInput){
			this.visible = true;//depth был неправильный
			this.text = edit.text;
			edit._parent.destroyObject(edit._name);
		}
конечно можно удалять етот iEdit onRelease другого клипа, но так поступать нехочется, дабы не жертвовать универсальностью кода и гимора это принесет немало(чую обратной стороной стула), можно оставить как есть: edit.visible=false, но для чистоты эксперемента охота его всетаки удалить...
дык, товарищи флешеры:
1: в чем я неправ удаляя так объект,
2: может есть другое решение,
3: и в чем причина критической ошибки плеера(понимаю, что в моем коде, а именно -...)?
заранее дьякую, и извеняйте за объемность вопроса


Последний раз редактировалось dacino; 24.11.2006 в 11:11.