Тема: comboBox баг
Показать сообщение отдельно
Старый 09.06.2002, 02:39
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 6  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
в действительности все не так, как на самом деле...
(народная мудрость)

а на самом деле до жути просто

...сразу перейдем к тому, как будет работать:
Код:
new_combo = function () {
	delete _root.win.lis.onUnload;
	_root.createEmptyMovieClip("win", 1);
	_root.win._x = random(200);
	_root.win._y = random(200);
	_root.win.attachMovie("FComboBoxSymbol", "lis", 1);
};
улавливаете подставу ?
когда мы переписываем старый клип с комбой новым пустым клипом, то как раз и срабатывает обработчик onUnload...
...теперь берем пустой мув, кидаем на сцену компонент комбобокс, альт+ф3 -> MovieExplorer и вбиваем в строку поиска слово onUnload
что видим :
Код:
Scene 1
Symbol Definition(s)
    ComboBox
        actions for frame 1
            #initclip 3
            /*
            FComboBoxClass
            EXTENDS FScrollSelectListClass
            This class manages a "pulldown" scrolling list.
            */
            function FComboBoxClass() {
            ............. [skip]
            ............. [skip]
            ............. [skip]
            this.onUnload = function()
            {
            this.superHolder.removeMovieClip();
            }
            ............. [skip]
            ............. [skip]
            ............. [skip]
как грится - с приездом

проверяем то же самое для листа - онАнлоад не определяется, и следовательно все работает !..

выхода два:
– либо удалять онАнлоад перед новым аттачем (как в коде выше)
– либо более удобно:
1. идем в библиотеку->Flash UI Components->ComboBox
2. открываем клип и в верхнем слое "Actions : Class" находим слово "onUnload"
3. убиваем эту функцию


...если б вы только знали, КАК я этот нашел ... пятнадцать минут полного извращения


Последний раз редактировалось Nox Noctis; 09.06.2002 в 02:43.