Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   dispatchEvent (http://www.flasher.ru/forum/showthread.php?t=111332)

Snut 22.04.2008 15:14

dispatchEvent
 
написал класс описывающий юзера штука получилась длинная из-за необходимости формировать для этого юзера xml, ну так вот дело в чем, не могу задиспетчить собственное событие при ошибке(ошибка прописанна в теле класса, грубо говоря: если отсутствует такое-то свойство или оно пустое - диспетчим событие). Класс не от чего не наследуется. Уже час сижу колупаюсь и понять не могу в чем мой мозг меня же и подводит. Спасибо.

2morrowMan 22.04.2008 15:17

Код:

this.dispatchEvent(new Event("emptyField"));

vooparker 22.04.2008 15:34

событие должен диспатчить не от чего не наследуемый "класс описывающий юзера"? Если так, то отнаследуете его от EventDispatcher.
Если класс не может быть отнаследован по каким-либо причинам, тогда создайте внутренний диспатчер, который пусть и шлет событие, и не забудьте в этом случае в конструктор диспатчера передать ссылку на класс, чтобы в рассылаемых событиях именно он был таргетом а не внутренний диспатчер

Snut 22.04.2008 15:37

2morrowMan, неа флекс говорит, что так не умеет
vooparker, сейчас попробую, спасибо.

Вроде помогло, всем спасибо.

wer32 19.01.2009 18:24

Цитата:

Сообщение от vooparker (Сообщение 734696)
событие должен диспатчить не от чего не наследуемый "класс описывающий юзера"? Если так, то отнаследуете его от EventDispatcher.
Если класс не может быть отнаследован по каким-либо причинам, тогда создайте внутренний диспатчер, который пусть и шлет событие, и не забудьте в этом случае в конструктор диспатчера передать ссылку на класс, чтобы в рассылаемых событиях именно он был таргетом а не внутренний диспатчер

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

Gaen 19.01.2009 20:10

Код AS3:

public class User{}

преврещаем в

Код AS3:

public class User extends EventDispatcher{}


wer32 19.01.2009 20:51

про расширение класса в курсе:)
меня интересует пример кода когда расширение класса невозможно.

к примеру у меня есть

Код AS3:

package {
class AmateursТoDevour extends Amateurs {
public static const DEAD:String = "dead";
 
public function AmateursТoDevour {
//код
}
 
private function dead ():void {
dispatchEvent(new Event(AmateursТoDevour.DEAD));
}
 
}
}

и второй класс

Код AS3:

package {
import flash.event.*;
 
public class DiningRoom {
public var Amateur:AmateursТoDevour;
 
public function DiningRoom() {
Amateur = new AmateursТoDevour();
Amateur.addEventListener(AmateursТoDevour.DEAD, deadListener);
}
 
private function deadListener (e:Event):void {
// действие
}
 
}
}

если расширить первый класс EventDispatcher все работает, если нету возможности расширить то как можно обойти это?

Яски 19.01.2009 21:09

http://help.adobe.com/ru_RU/AS3LCR/F...ispatcher.html
в самом низу пример

CEBEP 19.01.2009 21:45

Цитата:

меня интересует пример кода когда расширение класса невозможно
Не совсем так, есть такая вещь как Интерфейс, которая позволяет "расширять класс когда это невозможно".

wer32 19.01.2009 21:49

сейчас читаю книгу Колина Мука AS 3.0 для Flash. Собственно там про это и говорилось.
попытался реализовать это сам запутался прога не фурычет.
Просто там слабо описаны интерфейсы ну или я очень плохо в них разобрался.
если не затруднит можно написать как использовать интерфейсы в данном коде?

концепцию понимаю а как реализовать фик знает :(


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

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