![]() |
createClassObject, destroyObject и TextInput - проблемы с удалением компонента
Вот, пытался написать пример для пользователя, создавшего тему http://flasher.ru/forum/showthread.php?t=87732 и наткнулся на нехорошую проблему.
Вот код: Код:
import mx.controls.Label;Но почему-то не удаляется метка с помощью строки Код:
destroyObject(this._name);Исходник не прикрепляю, ибо из-за компонентов он не уместится в один архив, а два мне делать лень. ^_^ PS: Ещё хотел спросить по поводу метода createClassObject. Везде встречал такой синтаксис: Код:
componentInstance.createObject(linkageName, instanceName, depth, initObject) |
тогда простите за еще один вопрос, как можно будет циклом пройтись по всем созданным таким образом объектам?
|
off:
Хемуль, понятные названия переменных это хорошо, но слишком понятные названия — это уже плохо, ухудшает читабельность кода просто в геометрической прогрессии. Оптимальное имя переменой — два-три слова, но не более. По теме: 1) У тебя проблемы с областью видимости, destroyObject должен быть вызван в том объекте, в котором содержится удаляемый компонент, т.е. как createObject, в твоем случае this._parent.destroyObject(this._name); 2) Да, это объект, в котором нужно создать компонент. |
__etc:
Спасибо. А то как-то из livedocs и Справки не до конца понял, что где. |
Просто достаточно представить классовую структуру и то, что все компоненты наследуются от UIObject.
|
млин, схожу с ума от объектной модели флеша пытаясь разобраться в выше написанном, тем не менее благодарствую бесконечно, есть хотяб в чем разбираться
|
*Ошибка** E:\DOCS\HTML_DOCS\flash\el.as: Строка 35: The class 'mx.Controls.Label' could not be loaded.
var newLabel:Label = this._parent.createClassObject(Label, newLabelName, this._parent.getNextHighestDepth()); el.as - лежит в одной папке с исходником, как сделать чтоб The class 'mx.Controls.Label' can be loaded мож этот скрипт куда перенести? |
Какая версия Flash?
|
в общем это и не важна см. далее
|
частный случай для destroyObject:
Код:
stop(); |
| Часовой пояс GMT +4, время: 16:52. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.