Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   Ошибки 1017/5000. Нестандартная проблема. (http://www.flasher.ru/forum/showthread.php?t=203027)

Anabel 26.08.2013 23:34

Ошибки 1017/5000. Нестандартная проблема.
 
Есть код:
Код AS3:

package {
          import flash.display.*;
        import flash.events.*;
        import flash.net.*;
        import vk.*;
 
        public class Main extends MovieClip {
 
                var MyLoader:Loader = new Loader();
                var MyUrlPhoto:URLRequest;
                var sex:String;
                trace("1");
 
                public function Main() {
                        status_txt.text = "ДЗ";
                        var flashVars:Object = stage.loaderInfo.parameters as Object;
                        var VK:APIConnection = new APIConnection(flashVars);
                        VK.api('getProfails', {test_mode: true, uids:flashVars['viever_id'], fields:"first_name, last_name, photo_big, sex, bdate"}, onApiGood, onApiBad);
                        MyLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, ImgLoaded);
                }
 
                public function onApiGood(data:Object) {
                        for each (var user:Object in data) {
                                if(user['sex'] == 1) {
                                        sex = "Ж"
                                } else {
                                        sex = "Ч"
                                }
                                text_info.text = "ВЗ " + user['first_name'] + " " + user['last_name'] + " \n ВП" + sex + " \n УВДН" + user['bdate'];
                                MyUrlPhoto = new URLRequest(user['photo_big']);
                                MyLoader.load(MyUrlPhoto);
                                addChild(MyLoader);
                                status_txt.text = "ЗЗ";
                        }
                }
 
                public function onApiBad(data:Object) {
                        text_info.text = "П \n" + data;
                }
 
                public function ImgLoaded() {
                        MyLoader.x = (550 - MyLoader.width)/2;
                        MyLoader.y = 50;
                        status_txt.text = "ВДЗ";
                }
 
        }
 
}

В нём есть ошибки:
Код AS3:

1017: Определение базового класса MovieClip не найдено
5000: В класс "Main" должен входить подкласс "flash.display.MovieClip", так как он связывается с символом такого же типа в библиотеке

Почему? Всё есть же?
P.S. Гугл не помог. Всё сводиться к тому, что все не импортировали "import flash.display*;", но у меня то всё есть!

Добавлено через 17 минут
В общем, пришла в голову глупая идея - прописать отдельно
Код AS3:

import flash.display.MovieClip;

Глупо, но сработало. А сейчас из области, где я смыслю на уровне первоклассника в первый день школы - {"error":{"error_code":101,"error_msg":"Invalid application API ID","request_params":[{"key":"method","value":"getProfails"},{"key":"uids","value":"undefined"},{"key":"format","value":"JSON"},{"key":"sid","value":"null"},{"key":"fields" ,"value":"first_name, last_name, photo_big, sex, bdate"},{"key":"api_id","value":"NaN"},{"key":"v","value":"3.0"},{"key":"sig","value":"68a2568803c398eddadc5fecf46ee8d6"},{"key":"test_mode","value":" true"}]}} - это ещё что, можете пояснить (хоть кратко)?

Wolsh 27.08.2013 00:08

Вы на странице вКонтакте тестите или прямо из Adobe Flash? ))

Anabel 27.08.2013 00:16

Прямо. Проверяю
Код AS3:

public function onApiBad(data:Object) {
                        text_info.text = "П \n" + data;
                }

Теоретически в Adobe Flash должен показать что нет соединения. А он показывает object Object и в панели вывода то что в дополнении написано.

Wolsh 27.08.2013 01:00

Почему "нет соединения"? У Вас интернет выключен?))
Конечно же соединение есть, и запрос отправляется. Вот только заполнен он чем?
Обратите внимание на это (конструктор Мейн):
Код AS3:

var flashVars:Object = stage.loaderInfo.parameters as Object;

stage.loaderInfo.parameters флэшка получает со страницы HTML, в которую встроена.
Так что ваш запрос будет заполнен undefined, и ответ сервера вполне резонный.

caseyryan 27.08.2013 08:28

Особенно повеселила часть
Цитата:

value":"getProfails
:D

если это перевести дословно, то это что-то типа "получить ляпы/провалы профессионалов" :D
Слово профайл, пишется вот так: profile, и никак иначе. То, что написано у вас, читается как профейл.
Так что эта флешка даже залитая в контакт выдаст ошибку. И это будет реальный фейл. Внимательнее надо относиться к названиям методов.

Да и на этом фейлы не заканчиваются. Название переменной вьюэр айди, пишется так: viewer_id, а не так viever_id
В общем, если с английским такие уж проблемы, то всегда можно воспользоваться хотя бы копипастом, чтобы не допускать таких нелепых ошибок.

п.с. Есть еще в программировании такое понятие как конвенции написания кода. Так вот, в соответствии с конвенциями АС3 названия методов и переменных, принято писать с маленькой буквы, используя верблюжий регистр. С большой буквы пишутся названия классов и конструкторов классов. Так же, с большой буквы пишутся названия интерфейсов, с добавлением заглавной I в начало.


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

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