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

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

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

Регистрация: May 2009
Сообщений: 13
По умолчанию HTTPService ошибка EventDispatcher

Почему при определении myXML = e.result as XML вылезает ошибка? Помогите разобраться или хотябы намекните в какую сторону копать и как побороть
Код AS3:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
 
    <mx:Script>
        <![CDATA[
        	import mx.controls.Alert
        	import mx.rpc.events.FaultEvent;
			import mx.rpc.events.ResultEvent;
			import api.*;
 
			public var apiArray:Array = new Array()
			public var qapi:Array = new Array()
			public var sig:String;
			public var strPHP:String;
			public var myXML:XML;
 
 
 
	private function init():void {
			qapi[0] = loaderInfo.parameters["api_id"];
			qapi[1] = loaderInfo.parameters["user_id"];
			qapi[2] = loaderInfo.parameters["group_id"];
			qapi[3] = loaderInfo.parameters["viewer_id"];
			qapi[4] = loaderInfo.parameters["is_app_user"];
			qapi[5] = loaderInfo.parameters["viewer_type"];
			qapi[6] = loaderInfo.parameters["auth_key"];
 
 
 
			sig = MD5.encrypt(qapi[3]+'api_id='+qapi[0]+'fields=uid,first_name,last_name,nickname,sex,bdate,city,country,timezone,photo,photo_medium,photo_big'+'method=getProfiles'+'uids='+qapi[3]+'v=2.0ogBm5BsiUL')
			strPHP = "http://api.vkontakte.ru/api.php?api_id="+qapi[0]+"&v=2.0&method=getProfiles&sig="+sig+"&uids="+qapi[3]+"&fields=uid,first_name,last_name,nickname,sex,bdate,city,country,timezone,photo,photo_medium,photo_big"
			apiConect.url= strPHP
			apiConect.addEventListener(ResultEvent.RESULT, resultApiConect)
			apiConect.send()
 
 
 
		}
 
			public function resultApiConect(e:ResultEvent):void 
			{
				myXML = e.result as XML;
				Alert.show(myXML.toXMLString())
			}	
 
        ]]>
    </mx:Script>
    <mx:HTTPService id="apiConect"/>
 
</mx:Application>
Код AS1/AS2:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
	at new_pro/new_pro::init()[C:\Documents and Settings\Admin\My Documents\Flex Builder 3\new_test\src\new_pro.mxml:20]
	at new_pro/___new_pro_Application1_creationComplete()[C:\Documents and Settings\Admin\My Documents\Flex Builder 3\new_test\src\new_pro.mxml:2]
	at flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
	at flash.events::EventDispatcher/dispatchEvent()
	at mx.core::UIComponent/dispatchEvent()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\UIComponent.as:9298]
	at mx.core::UIComponent/set initialized()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\UIComponent.as:1169]
	at mx.managers::LayoutManager/mx.managers:LayoutManager::doPhasedInstantiation()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:718]
	at Function/http://adobe.com/AS3/2006/builtin::apply()
	at mx.core::UIComponent/mx.core:UIComponent::callLaterDispatcher2()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\UIComponent.as:8628]
	at mx.core::UIComponent/mx.core:UIComponent::callLaterDispatcher()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\UIComponent.as:8568]

Старый 04.06.2009, 21:55
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 2  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
У Вас ошибка в init вылезает, вы обращаетесь к чему-то несуществующему (loaderInfo != null?)
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 04.06.2009, 22:13
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 3  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

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

Старый 04.06.2009, 23:45
Chibis вне форума Посмотреть профиль Отправить личное сообщение для Chibis Найти все сообщения от Chibis
  № 4  
Ответить с цитированием
Chibis
 
Аватар для Chibis

Регистрация: May 2009
Сообщений: 13
подписался applicationComplete изменил loaderInfo.parameters на parameters, всеравно говорит что null сделал так
Код AS3:
qapi[0] = Application.application.parameters.api_id;
			qapi[1] = Application.application.parameters.user_id;
			qapi[2] = Application.application.parameters.group_id;
			qapi[3] = Application.application.parameters.viewer_id;
			qapi[4] = Application.application.parameters.is_app_user;
			qapi[5] = Application.application.parameters.viewer_type;
			qapi[6] = Application.application.parameters.auth_key;
может можно отследить как нибудь загрузку флешварс?

Старый 05.06.2009, 03:23
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 5  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
А теперь потрейсте:
Код AS3:
trace( Application.application === this );
Должны быть изначально, а вообще, еще попробуйте такой вариант:
root.loaderInfo.parameters
Просто в SystemManger за каким-то лешим это свойство оверрайдят - вот и получаются из-за этого неприятности.
__________________
Hell is the possibility of sanity

Старый 05.06.2009, 10:45
Chibis вне форума Посмотреть профиль Отправить личное сообщение для Chibis Найти все сообщения от Chibis
  № 6  
Ответить с цитированием
Chibis
 
Аватар для Chibis

Регистрация: May 2009
Сообщений: 13
так все работает)))
Код AS3:
private function init():void
		{
			 for (var i:String in Application.application.parameters) {
			 		qapi.push(Application.application.parameters[i])
        }


Последний раз редактировалось Chibis; 05.06.2009 в 11:31.
Старый 05.06.2009, 11:20
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 7  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Стек прямо указывает на то, что ошибка в init(), а не в HTTPService.

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

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

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


 


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


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