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

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

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

Регистрация: Apr 2009
Сообщений: 7
По умолчанию sendAndLoad и event внутри класса

Собственно задача такая: отправить запрос на сервер, получить результат, и если результат удовлетворяет определенным требованиям(при логине сервер возвращает "ОК"), вернуть true. Как только это происходит, повесить событие onLogin

В классе пишу
Код AS1/AS2:
 
import mx.events.EventDispatcher  
 
class Flat {
 
 	private var dispatchEvent:Function;
 	var addEventListener,removeEventListener:Function;	
	var username:String = "";
	var password:String = "";
	var url:String = "http://myserver.com";
	private var accepter:LoadVars;
	var myArray:Array;
 
 
	function Flat(user:String,pass) {
		myArray = new Array();
		username = user;
		password = pass;
		EventDispatcher.initialize(this);
 
	}
 
	function login() {
		var req:LoadVars = new LoadVars();
                var accepter:LoadVars = new LoadVars();
		accepter.onData = eventer;
		req.decode("mode=login");
		req.decode("user="+username);
		req.decode("hpassword="+password);
		req.sendAndLoad(url,accepter,"POST");
	}
	function eventer(myString) {
                var res:Boolean = false;
                if (myString == "OK") {res = true;}
		var eventObject:Object = {target:this, type:"onLogin"};
                eventObject.res = res;  
		dispatchEvent(eventObject);
	}
 
}
В мувике пишу
Код AS1/AS2:
var myClient:Flat = new Flat("user","pass");
 
var myListnerObj:Object = new Object; 
myListnerObj.onLogin = function() {
    trace ('ok');
}
myClient.addEventListener("onLogin",myListnerObj);
myClient.login();
Собственно, заветного "ок" не наблюдается. Где моя ошибка?

Старый 18.05.2009, 22:06
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 2  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
метод класса присвоить onData можно только через Delegate
Код AS1/AS2:
accepter.onData = Delegate.create(this, eventer);
иначе этот eventer() работает "от имени" accepter, у которого нет dispatchEvent

Старый 19.05.2009, 07:15
xzwiex вне форума Посмотреть профиль Отправить личное сообщение для xzwiex Найти все сообщения от xzwiex
  № 3  
Ответить с цитированием
xzwiex

Регистрация: Apr 2009
Сообщений: 7
спасибо, сейчас проснусь и попробую =)

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

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

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


 


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


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