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

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

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

Регистрация: Aug 2006
Адрес: Мюнхен
Сообщений: 509
Отправить сообщение для enepx с помощью ICQ Отправить сообщение для enepx с помощью Yahoo Отправить сообщение для enepx с помощью Skype™
Question Как создать событие onLoad?

У меня есть класс Device. В нем я гружу данные из xml (с пом. класса XML).
У меня есть поле loaded:Boolean, которое сожержит загружен ли xml документ. НО...
Я конечно могу постоянно проверять пока оно не станет true. Можно ли как-нибудь сделать событие наподобие XML.onLoad, которое бы вызывалось после того как мой xml обработан и загружен.
Может просто приравнять как-нибудь функции XML.onLoad и мою Device.onLoad. Я пока не совсем знаю что говорю и как это сделать.
Спасибо...

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

Регистрация: Mar 2001
Адрес: msk
Сообщений: 1,416
Код:
...
var o:Device = this;
XML.onLoad = function() { 
     o.loaded = true;
     o.onLoad();
};
...
public function onLoad() {
...
}

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

Регистрация: Sep 2002
Сообщений: 30,787
this.xml.onLoad = mx.utils.Delegate.create(this,this.onLoad);

MyXus, внешняя ссылка — это неправильно.

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

Регистрация: Mar 2001
Адрес: msk
Сообщений: 1,416
хочется пофлеймить чуток..
1. а почему так уж неправильно?
2. Тогда уже можно просто XML.onLoad = this.onLoad;

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

Регистрация: Sep 2002
Сообщений: 30,787
1. Потому что объявлять функции внутри метода вредно плюс лишние ссылки. Так делали в AS1.
2. Область видимости будет другой.

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

Регистрация: Mar 2001
Адрес: msk
Сообщений: 1,416
Цитата:
Сообщение от __etc
2. Область видимости будет другой.
Что-то я не догоняю. И так и так область видимости функции Device.onLoad будет в рамках конкретного экземпляра класса. Разве нет?

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

Регистрация: Sep 2002
Сообщений: 30,787
А ты проверь.

Старый 30.10.2006, 19:58
enepx вне форума Посмотреть профиль Отправить личное сообщение для enepx Посетить домашнюю страницу enepx Найти все сообщения от enepx
  № 8  
Ответить с цитированием
enepx
 
Аватар для enepx

Регистрация: Aug 2006
Адрес: Мюнхен
Сообщений: 509
Отправить сообщение для enepx с помощью ICQ Отправить сообщение для enepx с помощью Yahoo Отправить сообщение для enepx с помощью Skype™
Конечно респект, но я не понял как в итоге надо кодить-то? Можно 1-й и 2-й ответы объединить?! Спасибо..
PS. Как вообще работает класс Delegate? Где почитать? В книге по MX-версии такого еще не было.


Последний раз редактировалось enepx; 30.10.2006 в 20:07.
Старый 30.10.2006, 19:59
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 9  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Выбирай
Я бы использовал Delegate.

Старый 30.10.2006, 21:44
enepx вне форума Посмотреть профиль Отправить личное сообщение для enepx Посетить домашнюю страницу enepx Найти все сообщения от enepx
  № 10  
Ответить с цитированием
enepx
 
Аватар для enepx

Регистрация: Aug 2006
Адрес: Мюнхен
Сообщений: 509
Отправить сообщение для enepx с помощью ICQ Отправить сообщение для enepx с помощью Yahoo Отправить сообщение для enepx с помощью Skype™
Question не могу понять

Помнишь, ты мне вчера помогал уже. Смотреть тут http://flasher.ru/forum/showthread.php?t=87123
У меня все это же. Так мне теперь писать
this.xml.onLoad = mx.utils.Delegate.create(this,this.onXMLLoad); ???
И у меня в голове не укладыватся, как это будет работать?
Мне вообще нужно как в визуальных средах программирования сделать событие. Объясню подробнее...
У меня мой класс Device обрабатывает xml и забивает поля значениями из этого файла. Также есть методы, напр. getName(), кот. возващает имя девайса.
Например, делаю следущее:
Код:
var mobilePhone:Device = new Device("test.xml");
var deviceName:String = mobilePhone.getName();
Так вот ессно, что он не успевает обработать файл и сразу пишет undefined. Мне нужно, чтобы var deviceName:String = mobilePhone.getName(); вызывалась после зарузки. Типа как я делаю в классе XML (метод onLoad). Не знаю как еще объяснить, прости. Спасибо заранее...

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

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

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


 


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


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