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

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

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

Регистрация: Feb 2010
Сообщений: 10
По умолчанию Глобальная переменная не хранит данные

Ребят, решить обернуть методы апи вконтакте в классы (но вопрос не по апи) и столкнулся с проблемкой. Есть переменная класса XMLdata:XML в методе записываю в неё значения, вывожу переменную через trace(XMLdata) и вижу что данные в неё успешно записались, но в другом методе опять вывожу эту переменную и вижу null. Как так может быть ? Вот код:

Код AS3:
package 
{ 
	import api.MD5;
	import flash.events.Event;
	import flash.net.*;
 
	public class VKmethods
	{
		public var API_ID:String = "1833756";
		public var VIEWER_ID:String = "9060138";
		public var API_SECRET:String = "APFFhywt9K";
		public var API_URL:String = "http://api.vkontakte.ru/api.php";
		public var TEST_MODE:String = "1";
		public var loader:URLLoader = new URLLoader();
		public var XMLdata:XML;
 
		public function SendRequest(Request:String):void
		{
			var URLReq:URLRequest = new URLRequest(Request);
			loader.load(URLReq)
			loader.addEventListener(Event.COMPLETE,AfterLoad);
		}
 
		public function AfterLoad(e:Event):void
		{
			XMLdata = new XML(loader.data);
		}
 
		public function getFriends():void
		{
			var sig = MD5.encrypt(VIEWER_ID+"api_id="+API_ID+"method=getFriendstest_mode=1v=2.0"+API_SECRET);
			var Request:String = API_URL+"?api_id="+API_ID+"&v=2.0&method=getFriends&test_mode="+TEST_MODE+"&sig="+sig;
			this.SendRequest(Request);
		}
 
		public function ReturnXMLdata():XML
		{
			trace(XMLdata);
			return XMLdata;
		}
	}
}
Ну а это основная программа где создаю объект класса и вызываю метод:

Код AS3:
function ButtonPush(e:MouseEvent):void
{
	var T:VKmethods = new VKmethods();
	T.getFriends();
	MainText.text = String(T.ReturnXMLdata());
}
butt_go.addEventListener(MouseEvent.CLICK, ButtonPush);
Подскажите где я ошибся


Последний раз редактировалось snat; 24.02.2010 в 20:06.
Старый 24.02.2010, 20:46
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Названия функций и переменных пишутся со строчной. Только константы пишутся прописными. Тип String приводится к типу XML, совсем не обязательно создавать новый XML для этого.
Скорее всего обращаетесь к XMLю когда он еще не загружен.
__________________
Hell is the possibility of sanity

Старый 24.02.2010, 21:12
snat вне форума Посмотреть профиль Отправить личное сообщение для snat Найти все сообщения от snat
  № 3  
Ответить с цитированием
snat

Регистрация: Feb 2010
Сообщений: 10
Правила оформления кода буду изучать =)
По коду. XML загружается и доступен из функции AfterLoad, но после её выполнения и loader и XMLdata остаются пустыми, не пойму только почему так происходит

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

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

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


 


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


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