![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jan 2013
Адрес: Москва, Сходня
Сообщений: 41
|
Бился очень долго над этой проблемой... Измучился, ошибку нашел. Но непонятно почему так происходит.
Вот рабочий код, замените flashVars на свои данные и протестируйте. код ниже работает и выведет список друзей в output-панели. Но! Если заменить переменную VK на vk - то код сразу не работает и выдает ошибку: package{ import vk.APIConnection; import flash.display.*; public class Main extends MovieClip{ public function Main():void { var flashVars:Object = stage.loaderInfo.parameters as Object; flashVars['api_id'] = 3548968; flashVars['viewer_id'] = 206137835; flashVars['sid'] = "760e0e9cda4c19eb9851b7419e550e728b083d3304a62c8e9d0dfd93dc6a39c09b28af6e373bfad92ce88"; flashVars['secret'] = "2642da876c"; var VK:APIConnection = new APIConnection(flashVars); VK.api('friends.get',{},vkGetFriends,vkError); } private function vkGetFriends(r:Object):void{} private function vkError(r:Object):void{} } } то переменная работает. |
|
|||||
|
имя переменной совпадает с названием пакета vk:
import vk.APIConnection; а у пакета такого метода как api, само-собой, нету ![]() Советую использовать префиксы для переменных: v/l для локальных, F для полей классов, A для аргументов функций, так меньше путаницы подобной будет. |
|
|||||
|
Регистрация: Jan 2013
Адрес: Москва, Сходня
Сообщений: 41
|
Цитата:
Не очень хочется кучу префиксов использовать, буду использовать только _ перед переменными, поскольку часто конфликт с такими переменными, как name, speed и подобными возникает. Спасибо. Добавлено через 3 минуты Но всетаки не понятно, почему не вызывает конфликт, а var vk:APIConnection = new APIConnection(flashVars); vk.api('friends.get',{},vkGetFriends,vkError); Темболее, это локальная переменная в функции(конструкторе) Методы в переменных как имя пакета нельзя использовать, а сами переменные можно? путаница какая-то... Добавлено через 8 часов 0 минут Нет, я всетаки ничего не пойму. Сейчас все снова написал, теперь работает с переменной vk все ок. Возможно потому, что пакет vk в корне, а все остальные файлы в пакете src? Добавлено через 8 часов 7 минут Ага, из-за этого... Написал в главном классе import vk.APIConnection; и выдало ту же ошибку. (код подключения к VK в другом классе-синглтоне) Вопрос решен. |
|
|||||
|
Цитата:
|
|
|||||
|
Забыл добавить "например". Не только на AS пишу, и работаю часто с одними испанцами, у них этот Delphi-стиль корпоративное достояние
. Ну и привык, мне теперь конструкции вида
глаз режут...Мне-то главное чтобы можно было отличить где аргумент, где локальная переменная, и где поле класса, а такой подход вполне оправдан, если для себя пишу. Ну а топикстартеру советую тогда это:http://www.flasher.ru/forum/blog.php?bt=1872, или это: http://romaniac.ru/flex-sdk-coding-conventions ...Что-то они местами отличаются, но то такое ![]() А вообще...процитирую одну книжку: "-Трейсер — тот же паркурист, — отмахнулся Тема. — Просто кому-то захотелось назвать паркуристов трейсерами — «прокладывающими пути». Уж не знаю, откуда взялось это слово, но до появления одноименной паркур-команды ни о чем подобном никто не слышал. Зато теперь любой шкет скажет, что паркуристами себя называют только неудачники. -Ну это обычное дело. Людям только дай повод наехать на других." Алекс Кош, "Игры масок". Последний раз редактировалось C4Grey; 13.04.2013 в 19:38. |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:41. |
|
|
« Предыдущая тема | Следующая тема » |
|
|