Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   Не работают методы friends (http://www.flasher.ru/forum/showthread.php?t=174879)

Exact1990 04.02.2012 20:12

Не работают методы friends
 
Не работают методы. Проверяю friends.getAppUsers, но и другие дают молчание. Права на работу со списком друзей - получены. Более того, класс, который грузится первым (после прелоадера) нормально получает список. А если нужно получить список в других классах - фиг. Постинг на стену работает, а получить список не могу. Метод вызывается, а потом ни ответа ни ошибки... Ах, да, flashVars данными заполняется, во всяком случае viewer_id - норм выводится. Вот код:
Код AS3:

package com.table.friends 
{
* * import com.button.comment.ButSearch;
* * import com.CreateElement;
* * import com.vk.APIConnection;
* * import fl.data.DataProvider;
* * import fl.controls.ComboBox;
* * import fl.controls.TextInput;
* * import flash.display.MovieClip;
* * import flash.display.Sprite;
* * import flash.events.*;
* * import flash.text.*;
* *
* * public class FriendsShell extends MovieClip
* * {
* * * *
* * * * public var VK:APIConnection;
* * * * public var flashVars:Object;
* * * * public var myFriendsText:TextField = create.newText("Текст:", 13, 0, 0);
* * * *
* * * *
* * * * public function FriendsShell()
* * * * {
* * * * * * super();
* * * * * * addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
* * * * }
* * * *
* * * * private function onAddedToStage(event : Event):void
* * * * {
* * * * * * removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
* * * * * * flashVars = stage.loaderInfo.parameters as Object;
* * * * * * VK = new APIConnection(flashVars);
* * * * * *
* * * * * * //VK.api('wall.post', { message: "Текст сообщения"});
* * * * * * myFriendsText.text = flashVars["viewer_id"];
* * * * * * VK.api('friends.getAppUsers', { }, onFrienddd,onError);
* * * * * * function onFrienddd(frApp: Object):void
* * * * * * {
* * * * * * * * myFriendsText.text = "работает";
* * * * * * }
* * * * * * function onError(data: Object):void
* * * * * * {
* * * * * * * * myFriendsText.text = data.error_msg;
* * * * * * }
* * * * * * addChild(myFriendsText);* * * *
* * * * }
* * }
*
}


ЗлОй ПрОграММер 05.02.2012 02:23

я канеш могу заблуждаться так как с as3 знаком крайне мало, но возможно вы прост код не так пишите к тому же функции в функциях лучше не писать, да и removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage); логично поместить самым последним
Код AS3:

private function onAddedToStage(event : Event):void
{
flashVars = stage.loaderInfo.parameters as Object;
VK = new APIConnection(flashVars);
addChild(myFriendsText);
VK.api('friends.getAppUsers', { }, onFrienddd,onError);
removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
 
private function onFrienddd(frApp: Object):void
{
myFriendsText.text = "работает";
}
 
function onError(data: Object):void
{
myFriendsText.text = data.error_msg;
}


GBee 05.02.2012 02:48

Так чего и ошибка не приходит?

incoob 05.02.2012 11:51

Цитата:

Сообщение от ЗлОй ПрОграММер (Сообщение 1061006)
removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage); логично поместить самым последним

Расскажите нам, пожалуйста, в чем тут логичность.

Exact1990 05.02.2012 16:53

Ошибка не приходит. В самом конце действительно нет смысла писать.
Функцию в функции почему бы и не писать, если она в дальнейшем нигде не используется? Или я не прав?

ЗлОй ПрОграММер 05.02.2012 17:47

Цитата:

Расскажите нам, пожалуйста, в чем тут логичность.
я всегда думал что по приоритету самые последние должны находиться "операции" удаления объектов, и отписывания от событий, впрочем моё личное мнение

GBee 05.02.2012 17:56

Я не уверен, что там моментальный коннект происходит. Снифферили?

udaaff 05.02.2012 19:42

Цитата:

Сообщение от Exact1990 (Сообщение 1061056)
Ошибка не приходит. В самом конце действительно нет смысла писать.
Функцию в функции почему бы и не писать, если она в дальнейшем нигде не используется? Или я не прав?

Почитайте тему http://www.flasher.ru/forum/showthread.php?t=126884. Много интересного по поводу анонимных функций.

Цитата:

я всегда думал что по приоритету самые последние должны находиться "операции" удаления объектов, и отписывания от событий
ЗлОй ПрОграММер, приоритета тут никакого нету. Хоть в начале, хоть в конце пишите.

Exact1990 05.02.2012 20:18

Цитата:

Снифферили?
Нет

Цитата:

Много интересного по поводу анонимных функций.
Спасибо. Буду знать. С AS3 работаю второй месяц так что не мудрено

Добавлено через 14 часов 52 минуты
Я тут поколдовал. Вышесказанное касается только анонимных функций? Или вложенных? Ибо у меня-то вложенные, а у них вроде бы недостаток лишь в том, что они доступны только в рамках функции в которой написаны. Как минимум насчёт затрачиваемой памяти к вложенным функциям - точно не так. Если и больше то незначительно.. Явно не такая разница, как описана в указанной теме

Добавлено через 21 час 34 минуты
Используя программу charles выяснил, что запрос идёт не к тому файлу. Точнее, в запросах на вконтакте al_search.php прописан.. и запрос другой: get_top_friends и get_pages... Вместо нужных.. А первый после лоадера класс - создаёт нормальные запросы. К файлу api.php. В чём может быть проблема и как это исправитЬ?

Exact1990 06.03.2012 22:06

Люди! Помогите! Я уже с ума схожу с этой проблемой. Перепроверил программой charles оказалось, что запрос всё таки проходит, и даже ответ какой надо... Но при этом обработки ответа не происходит :( Почему? Непонятно...


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

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