Форум 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, 19:24
__i вне форума Посмотреть профиль Отправить личное сообщение для __i Найти все сообщения от __i
  № 7  
Ответить с цитированием
__i
 
Аватар для __i

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

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

Регистрация: Jul 2005
Сообщений: 225
Отправить сообщение для Dimchansky с помощью ICQ
а что мешает создать статическое свойство - массив из объектов твоего класса при инициализации этих самих объектов? А потом вполне ОПРЕДЕЛЕННЫМ объектом из массива и оперировать?
.
.
.
static public var objects:Array;
.
.
.
Myclass=function(...){
objects.push(this);
}
.
.
.
Myclass.objects[5].DoSomething(xml:XML);

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

Регистрация: Jan 2004
Адрес: Украина, Харьков
Сообщений: 1,524
Отправить сообщение для __i с помощью ICQ
ухххххххх, это совсем сложно, помоемому. Представь из-за 1 хмля плодить такие вещи?
эт раз, во вторых в твоем примере я опять же теряю связь с ХМЛем.
Myclass.objects[5].DoSomething(xml:XML); - откуда я буду знать а хмл.е (вернее в онЛоаде) что хмл создан именно из 5 объекта ?

Старый 26.12.2005, 20:58
KPaul вне форума Посмотреть профиль Отправить личное сообщение для KPaul Найти все сообщения от KPaul
  № 10  
Ответить с цитированием
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);
}
}
}

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

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

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


 


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


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