Вылазит ошибка [Fault] exception, information=TypeError: Error #1034: Type Coercion failed: cannot convert flash.events::Event@8e41061 to net.freedomstate.events.SendArrayEvent.
Хотя в функциях у меня тип события, что принимается, соответствует типу, что отправляется. Может я не учел какого-то нюанса работы событий? Посмотрите пожалуйста.

Код AS1/AS2:
package net.freedomstate.pages.registration
{
/**
* ...
* @author Scorpion
*/
import fl.controls.ComboBox;
import flash.events.*;
import flash.net.URLLoader;
import flash.net.URLRequest;
import net.freedomstate.elements.Butt;
import flash.display.Sprite;
import net.freedomstate.elements.TextF;
import net.freedomstate.events.SendArrayEvent;
public class View extends Sprite
{
private var _controller: Controller;
private var _model: Model;
private var _labelLogin: TextF;
private var _labelPass: TextF;
private var _labelInfo: TextF
private var _inputLogin: TextF;
private var _inputPass: TextF;
private var _choiseCity: ComboBox;
private var _butRegistr: Butt;
public function View(): void
{
_model = new Model();
_controller = new Controller(_model);
_model.addEventListener(Event.ADDED, addCitiesList);
_model.addEventListener(Event.CHANGE, endRegistration)
viewElements();
}
private function viewElements(): void
{
_labelLogin = new TextF(250, 350, "Логін");
_labelPass = new TextF(250, 450, "Пароль");
_labelInfo = new TextF(350, 275, _model.textInfo)
_inputLogin = new TextF(450, 350, "", TextF.INPUT);
_inputPass = new TextF(450, 450, "", TextF.INPUT);
_inputPass.displayAsPassword = true;
_choiseCity = new ComboBox();
_choiseCity.width = 150;
_choiseCity.height = 25;
_choiseCity.x = 450;
_choiseCity.y = 525;
_butRegistr = new Butt(450, 600, "Зареєструватися");
_butRegistr.addEventListener(MouseEvent.CLICK, butRegistrClick);
addChild(_labelLogin);
addChild(_labelPass);
addChild(_labelInfo);
addChild(_inputLogin);
addChild(_inputPass);
addChild(_choiseCity);
addChild(_butRegistr);
}
private function butRegistrClick(e: Event): void
{
_controller.dispatchEvent(new SendArrayEvent(Event.ACTIVATE, new Array(_inputLogin.text, _inputPass.text, _choiseCity.selectedItem.label )));
}
private function addCitiesList(e: SendArrayEvent): void
{
for (var i: int = 0; i < _model.citiesArray.length; i++ )
{
_choiseCity.addItem( { label: _model.citiesArray[i] } );
}
}
private function endRegistration(e: Event): void
{
_labelInfo.textColor = 0x00FF00;
_labelInfo.text = _model.textInfo;
}
}
}

Код AS1/AS2:
package net.freedomstate.pages.registration
{
/**
* ...
* @author Scorpion
*/
import flash.events.*;
import flash.net.*;
import net.freedomstate.events.SendArrayEvent;
public class Controller extends EventDispatcher
{
private var _model: Model;
public function Controller(rModel: Model): void
{
_model = rModel;
this.addEventListener(Event.ACTIVATE, registration);
}
private function registration(e: SendArrayEvent): void
{
var loader: URLLoader = new URLLoader;
var v: URLVariables = new URLVariables();
v.login = e.dataArray[0];
v.pass = e.dataArray[1];
v.city = e.dataArray[2];
var req: URLRequest = new URLRequest(Main.REGISTRATION);
req.method = URLRequestMethod.POST;
req.data = v;
loader.addEventListener(Event.COMPLETE, endRegistration);
loader.load(req);
}
private function endRegistration(e: Event): void
{
var answer: String = e.currentTarget.data.toString();
if(answer.indexOf("success") > -1)
{
_model.textInfo = "Ви зареєстровані!";
}
else
{
_model.textInfo = answer;
}
dispatchEvent(new Event(Event.CHANGE));
}
}
}

Код AS1/AS2:
package net.freedomstate.pages.registration
{
/**
* ...
* @author Scorpion
*/
import flash.events.Event;
import flash.events.EventDispatcher;
import flash.net.*;
import net.freedomstate.events.SendArrayEvent;
public class Model extends EventDispatcher
{
private var _textInfo: String;
private var _citiesArray: Array = [ ];
public function Model(): void
{
_textInfo = " ";
var loader: URLLoader = new URLLoader;
loader.addEventListener(Event.COMPLETE, load);
loader.load(new URLRequest(Main.LOADCITYES));
}
public function load(e: Event): void
{
var xmlList: XMLList = (XMLList(e.target.data)).city;
for (var i: int = 0; i < xmlList.length(); i++ )
{
_citiesArray[i] = xmlList[i].title_city;
}
dispatchEvent(new SendArrayEvent(Event.ADDED, _citiesArray))
}
public function get textInfo(): String
{
return _textInfo;
}
public function get citiesArray(): Array
{
return _citiesArray;
}
public function set textInfo(string: String): void
{
_textInfo = string;
}
}
}
Страницу регистрации делаю.
Добавлено через 7 минут
Забыл добавить, что список городов из модели загружается нормально. Ошибка вылазит при нажатии на кнопки регистрации.