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

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

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

Регистрация: Jan 2004
Адрес: Украина, Харьков
Сообщений: 1,524
Отправить сообщение для __i с помощью ICQ
По умолчанию "Папа" объекта ХМЛ.

Вопрос таков: есть объект (экземпляр класса) который загружает должен загрузить в себя данные из ХМЛ. написал я это так:

Код:
class Myclass{
.................

function loadData(filename){
var tmp_xml = new XML()
tmp_xml.onLoad = function(){
// вот здеся я что то делаю с загружеными данными 
.......
//а здеся какимто образом нужно сообщить Myclass что мы загрузили данные.

}
tmp_xml.load(filename)
}
................
}
как сообщить Myclass что мы загрузили данные? я же не могу использовать конструкцию this._parent, и не могу задать XML свойство parent.

Можно через прототип, но помоемому это не выход.
Как сделать чтоб можно было указать ХМЛ кто его "ПАПА", при этом "не выносить" никаких переменных за мой класс
Кто че может посоветовать?

Старый 26.12.2005, 18:34
s_u_m_p вне форума Посмотреть профиль Отправить личное сообщение для s_u_m_p Посетить домашнюю страницу s_u_m_p Найти все сообщения от s_u_m_p
  № 2  
Ответить с цитированием
s_u_m_p

Регистрация: Mar 2004
Адрес: Областной центр "sump"
Сообщений: 202
Отправить сообщение для s_u_m_p с помощью ICQ
Могу тебе посоветовать поискать по форуму, так как это вопрос один из самых часто задаваемых.
__________________
:::::::::::: sump ::::::::::::

Старый 26.12.2005, 18:39
__i вне форума Посмотреть профиль Отправить личное сообщение для __i Найти все сообщения от __i
  № 3  
Ответить с цитированием
__i
 
Аватар для __i

Регистрация: Jan 2004
Адрес: Украина, Харьков
Сообщений: 1,524
Отправить сообщение для __i с помощью ICQ
ты мне ченить полезное бы посоветовал, а не поиск - думаешь не искал?, да и за форумом слежу вижу какие темы подымались какие нет!

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

Регистрация: Jul 2005
Сообщений: 225
Отправить сообщение для Dimchansky с помощью ICQ
объяви у класса Myclass статическое свойство loaded, которое будет инициализироваться по завершению обработки Myclass.loaded=true или статический метод DoSomething, который будет исполняться по завершению обработки твоего xml и вызывай его из ф-ции-обработчика Myclass.DoSomething().

Старый 26.12.2005, 18:57
__i вне форума Посмотреть профиль Отправить личное сообщение для __i Найти все сообщения от __i
  № 5  
Ответить с цитированием
__i
 
Аватар для __i

Регистрация: Jan 2004
Адрес: Украина, Харьков
Сообщений: 1,524
Отправить сообщение для __i с помощью ICQ
как я обращусь из ХМЛ к этому методу если я не знаю кто 'ПАПА' этого хмля?
в онЛоаде я не знаю кому пренадлежит этот ХМЛ,в этом то и вся проблема как это выяснить!!!!

Старый 26.12.2005, 19:04
Dimchansky вне форума Посмотреть профиль Отправить личное сообщение для Dimchansky Посетить домашнюю страницу Dimchansky Найти все сообщения от Dimchansky
  № 6  
Ответить с цитированием
Dimchansky

Регистрация: Jul 2005
Сообщений: 225
Отправить сообщение для Dimchansky с помощью ICQ
Тыпробовал? ты же класс назвал единожды и метод тоже имеет уникальное имя в пределах пространства имен класса. Так в чем проблема? Статические свойства и методы на то и статические, что к ним можно обращаться, не создавая при этом объекта-экземпляра класса. Из любого места твоего кода. Так работает класс Math - ты же можешь пользоваться им везде (хоть и в приведенном коде) и тебя абсолютно не интересует "папа" в твоей функции-обработчике

Старый 26.12.2005, 20:58
KPaul вне форума Посмотреть профиль Отправить личное сообщение для KPaul Найти все сообщения от KPaul
  № 7  
Ответить с цитированием
KPaul
 
Аватар для KPaul

Регистрация: Nov 2005
Сообщений: 221
Насколько я вижу можно очень просто:
Код:
class MyClass {
private var fileName:String = "foo.xml";
private var xml:XML;
public function MyClass(){
this.loadData(this.fileName);
}
private function loadData(fileName:String):Void{
var xml = new XML();
 
/* 
 *  home можно выставить как угодно, но если 'xml' типизируется, то
 *  присвоить 'home' не удастся(если только через ассоциативный ...).
*/
//xml.home = this;
var home = this;
xml.ignoreWhite = true;
xml.onLoad = function(){
// ...
home.onDataLoad(this);
}
}
}

Старый 26.12.2005, 21:09
__i вне форума Посмотреть профиль Отправить личное сообщение для __i Найти все сообщения от __i
  № 8  
Ответить с цитированием
__i
 
Аватар для __i

Регистрация: Jan 2004
Адрес: Украина, Харьков
Сообщений: 1,524
Отправить сообщение для __i с помощью ICQ
хе хе все оказалось просто KPaul ты прав, только я немного подругому написал:
Код:
..............
var papa = this
xml.onLoad = function(){
papa.doSomeThing();
}
.................
вот я тормоз 3 часа голову над этим ломал !!!!

Старый 26.12.2005, 21:10
Antares вне форума Посмотреть профиль Найти все сообщения от Antares
  № 9  
Ответить с цитированием
Antares
Banned
 
Аватар для Antares

Регистрация: Dec 2003
Сообщений: 3,925
Способ с ссылкой на самого себя -- это раз. Но куда красивее и удобнее mx.utils.Delegate...

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

Регистрация: Jan 2004
Адрес: Украина, Харьков
Сообщений: 1,524
Отправить сообщение для __i с помощью ICQ
ну а зачем мне эти "удобные mx.utils.Delegate..." использовать? когда можно простенька все сдалать ?

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

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

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


 


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


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