Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.01.2008, 14:41
marat_sa вне форума Посмотреть профиль Отправить личное сообщение для marat_sa Посетить домашнюю страницу marat_sa Найти все сообщения от marat_sa
  № 1  
Ответить с цитированием
marat_sa
 
Аватар для marat_sa

Регистрация: Nov 2006
Сообщений: 487
Отправить сообщение для marat_sa с помощью ICQ Отправить сообщение для marat_sa с помощью Skype™
Checked Обращение к объекту, созданному через конструктор класса

Здравствуйте! Есть класс InfoWindow, он создает мувиклип в конструкторе класса, т.е. для создания экземпляра класса, надо:
var alrtWnd:InfoWindow = new InfoWindow(parameters, ...);
По сути мы можем создать его (вызвать) в методе какого-либо класса, после чего, его локальные переменные уничтожаются, включая и наш alrtWnd. Ссылка на него потеряется.
Как реализовать уничтожение конкретного экземпляра такого класса?

Вот как выглядит метод closeWindow() класса InfoWindow
Код:
public function closeWindow():Void {
	mcWindow.removeMovieClip();
	delete this;
}
mcWindow как мувик уничтожается (исчезает), а вот delete this не отрабатывает. Почему?

Старый 22.01.2008, 14:45
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Объект не может удалить сам себя.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 22.01.2008, 14:53
marat_sa вне форума Посмотреть профиль Отправить личное сообщение для marat_sa Посетить домашнюю страницу marat_sa Найти все сообщения от marat_sa
  № 3  
Ответить с цитированием
marat_sa
 
Аватар для marat_sa

Регистрация: Nov 2006
Сообщений: 487
Отправить сообщение для marat_sa с помощью ICQ Отправить сообщение для marat_sa с помощью Skype™
А как тогда быть?
У меня нет ссылки на созданный объект.
Можно
alrtWnd.closeWindow();
Потом
delete alrtWnd;
Но мы же потеряли ссылку на alrtWnd, после выполнения локального метода, откуда и создавался экземпляр.

Старый 22.01.2008, 14:59
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 4  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
closeWindow удалит лишь мувиклип, а мувиклип не является экземляром InfoWindow.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 22.01.2008, 15:02
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 5  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
А что мешает создавать окно без ссылки?

Старый 22.01.2008, 15:16
marat_sa вне форума Посмотреть профиль Отправить личное сообщение для marat_sa Посетить домашнюю страницу marat_sa Найти все сообщения от marat_sa
  № 6  
Ответить с цитированием
marat_sa
 
Аватар для marat_sa

Регистрация: Nov 2006
Сообщений: 487
Отправить сообщение для marat_sa с помощью ICQ Отправить сообщение для marat_sa с помощью Skype™
Просто
new InfoWindow(parameters,...);
Eclipse отторгает (MTASC). А как к нему потом обратиться?


Последний раз редактировалось marat_sa; 22.01.2008 в 15:18.
Старый 22.01.2008, 18:12
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 7  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
А зачем вам к нему обращаться?

Старый 22.01.2008, 18:54
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 8  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Я в таких случаях делаю менеджеры. Т.е. класс с набором статических методов, который и следит за тем, какое окно сейчас открыто, какое его открыло, какое нужно активировать когда текущее закроется и т.п. Т.е. в случае с алертом принцип действий был бы приблизительно такой: какой-то класс порывается создать алерт --> обращается к менеджеру --> менеджер исходя из своих соображений открывает/закрывает/активирует чего нужно --> создает и регистрирует окно. Дальше, когда окно захочет закрыться, оно опять же обратится к менеджеру, который позаботится о том, чтобы нужное окно было удалено/получило фокус и т.д.
__________________
Hell is the possibility of sanity

Создать новую тему Ответ Часовой пояс GMT +4, время: 09:56.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 09:56.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.