Страница 1 из 3

Не работают методы friends

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

Код: Выделить всё

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);                }    } }

Re: Не работают методы friends

Добавлено: 04 фев 2012, 18:32
Александр
Exact писал(а):Метод вызывается, а потом ни ответа ни ошибки...
Вызывается в коде или ты видишь что идёт обращение к серверу? Смотри с помощью Charles.

Re: Не работают методы friends

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

Re: Не работают методы friends

Добавлено: 06 фев 2012, 16:30
sanych_dv
Зачем вы здесь обращаетесь к суперклассу: super() ?

Re: Не работают методы friends

Добавлено: 06 фев 2012, 16:40
sanych_dv
Также не совсем понимаю, зачем вы в новом классе создаете новый экземпляр APIConnection, когда можно обратиться к уже созданному ранее?

Re: Не работают методы friends

Добавлено: 06 фев 2012, 18:18
Exact
Зачем вы здесь обращаетесь к суперклассу: super() ?
Я до as3 в java работал, а там объявление конструктора суперкласса в конструкторе подкласса - норма. И если можно, правило хорошего тона.
Также не совсем понимаю, зачем вы в новом классе создаете новый экземпляр APIConnection, когда можно обратиться к уже созданному ранее?
Просвятите, как? Я не в курсе, ребят...

Re: Не работают методы friends

Добавлено: 07 фев 2012, 01:45
sanych_dv
В AS3 нет особой необходимости обращаться к конструктору суперкласса, если вы не собираетесь изменять его методы. В данном случае класс MovieClip - не более чем контейнер и такой необходимости нет.

Код: Выделить всё

  public function FriendsShell()        {            if (stage)                onAddedToStage();            else                addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);        }               private function onAddedToStage(event : Event = null):void        {      removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);...} 
Что касается вызова APIConnection из базового класса - это азы, изучайте взаимодействие классов, без этого двигаться дальше бесполезно. Нет смысла писать здесь готовый рецепт.

Re: Не работают методы friends

Добавлено: 07 фев 2012, 06:35
Exact
Что касается вызова APIConnection из базового класса - это азы, изучайте взаимодействие классов, без этого двигаться дальше бесполезно. Нет смысла писать здесь готовый рецепт.
Почему же нет смысла? Если это азы, значит это элементарно... Или дайте хотя бы ссылку где прочитать о подобном взаимодействии.. Через parent? так он имеет свойство только лишь экранного объекта..

Re: Не работают методы friends

Добавлено: 07 фев 2012, 06:47
sanych_dv

Re: Не работают методы friends

Добавлено: 07 фев 2012, 06:55
Exact
sanych_dv Спасибо огромное за неоценимую помощь!