Определение родителя класса

8 views
Skip to first unread message

Дмитрий Пилипенко

unread,
Sep 11, 2008, 11:10:57 AM9/11/08
to ruF...@googlegroups.com
Как определить в конструкторе класса Child, какой класс его вызвал?
Учитывая что класс Child не наслудемый от DisplayObjectContainer.
--
/With regards, Dmytro Pilipenko =)/.

Denis Kolyako

unread,
Sep 11, 2008, 11:11:40 AM9/11/08
to Дмитрий Пилипенко
Здравствуйте, Дмитрий.

> Как определить в конструкторе класса Child, какой класс его вызвал?
> Учитывая что класс Child не наслудемый от DisplayObjectContainer.

arguments.caller в AS3, к сожалению, нет.

Денис Коляко
______________________________________________________________________
e...@timezero.ru | http://etcs.ru/ | http://www.timezero.com/

Ivan Dembicki

unread,
Sep 11, 2008, 2:29:53 PM9/11/08
to ruF...@googlegroups.com
Hello Дмитрий,

> Как определить в конструкторе класса Child, какой класс его вызвал?

- передать в качестве параметра.

--
iv
http://www.bezier.ru
http://bezier.googlecode.com

Дмитрий Пилипенко

unread,
Sep 11, 2008, 2:36:05 PM9/11/08
to ruF...@googlegroups.com
Hello Ivan Dembicki,
- передать в качестве параметра.
- исключая такую возможность. Решение проблемы невыполнимо?
--
With regards, Dmytro Pilipenko =).

Denis Kolyako

unread,
Sep 11, 2008, 2:42:07 PM9/11/08
to ruF...@googlegroups.com

On Sep 11, 2008, at 22:36 , Дмитрий Пилипенко wrote:


> - исключая такую возможность. Решение
> проблемы невыполнимо?


Если в дебаговом плеере, то можно
распарсить (new Error()).getStackTrace() и получить
имя класса.

Денис Коляко
______________________________________________________________________
e...@timezero.ru | http://etcs.ru/ | http://timezero.com/




Ivan Dembicki

unread,
Sep 11, 2008, 2:44:42 PM9/11/08
to ruF...@googlegroups.com
Hello Dmytro,

> - исключая такую возможность. Решение проблемы невыполнимо?

- Денис на этот вопрос уже ответил.

Вообще, уточни ситуацию, потому, что вне контекста задачи
трудно подсказать правильное решение.
Оно может существенно отличаться от твоих представлений.

Дмитрий Пилипенко

unread,
Sep 11, 2008, 2:58:17 PM9/11/08
to ruF...@googlegroups.com
Hello iv,
Вообще, уточни ситуацию, потому, что вне контекста задачи
трудно подсказать правильное решение.
Оно может существенно отличаться от твоих представлений.
Напр,
public class ImageLoader extends EventDispatcher {
    private var _loader : Loader = new Loader(); // create loader

    public function SomeLoader() {
        // events
        _loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onIOErrorListener);
    }
       
    private function onIOErrorListener(event : IOErrorEvent) : void {
        throw new IOError('Can\'t load file in ' + Parent Class + '. Because it doesn\'t exist.');
    }

    public function set load(str : String) : void {
        _loader.load(new URLRequest(str));
    }
}

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

Ivan Dembicki

unread,
Sep 11, 2008, 4:37:48 PM9/11/08
to ruF...@googlegroups.com
Hello Дмитрий,

т.е. твоя задача шире: тебе нужно узнать откуда
взялась битая ссылка.
При этом, как мне кажется, куда важнее знать
url, чем класс, который дергал этот url.
Так его и надо светить.

Второй момент: ты не можешь грузить одним
лодером несколько картинок, соответственно,
ты можешь в Main (или любом другом)
подписаться на события именно этого экземпляра
и обработать их в Main.
Это куда более продуктивный подход, поскольку
экземпляров класса Main может быть много,
и каждый должен обработать именно свою
ошибку и отреагировать на нее.

Дмитрий Пилипенко

unread,
Sep 11, 2008, 4:45:41 PM9/11/08
to ruF...@googlegroups.com
>_<

Ivan Dembicki пишет:
--

Ivan Dembicki

unread,
Sep 11, 2008, 5:00:03 PM9/11/08
to ruF...@googlegroups.com
Hello Дмитрий,

Я в качестве комода: прочти плз правила эхи.
Твое последнее письмо нарушило массу
положений этих правил.
Здесь этого очень не любят не только модераторы,
но и участники.

Reply all
Reply to author
Forward
0 new messages