Показать сообщение отдельно
Старый 12.04.2013, 22:07
zzSpirit вне форума Посмотреть профиль Отправить личное сообщение для zzSpirit Найти все сообщения от zzSpirit
  № 4  
Ответить с цитированием
zzSpirit
 
Аватар для zzSpirit

Регистрация: Jan 2013
Адрес: Москва, Сходня
Сообщений: 41
Цитата:
Сообщение от C4Grey Посмотреть сообщение
имя переменной совпадает с названием пакета vk:
import vk.APIConnection;
а у пакета такого метода как api, само-собой, нету
Советую использовать префиксы для переменных: v/l для локальных, F для полей классов, A для аргументов функций, так меньше путаницы подобной будет.
Ааа, теперь понял. Что-то я не думал что имя пакета как-то с переменной может конфликтовать. Вообще считал что пакеты тока в import импортируются и просто так вызываться не могут.

Не очень хочется кучу префиксов использовать, буду использовать только _ перед переменными, поскольку часто конфликт с такими переменными, как name, speed и подобными возникает.

Спасибо.

Добавлено через 3 минуты
Но всетаки не понятно, почему
Код AS3:
var vk:String = 'ya cheburashka';
trace(vk);
не вызывает конфликт, а
Код AS3:
var vk:APIConnection = new APIConnection(flashVars);
vk.api('friends.get',{},vkGetFriends,vkError);
вызывает?

Темболее, это локальная переменная в функции(конструкторе)
Методы в переменных как имя пакета нельзя использовать, а сами переменные можно? путаница какая-то...

Добавлено через 8 часов 0 минут
Нет, я всетаки ничего не пойму. Сейчас все снова написал, теперь работает с переменной vk все ок. Возможно потому, что пакет vk в корне, а все остальные файлы в пакете src?

Добавлено через 8 часов 7 минут
Ага, из-за этого... Написал в главном классе import vk.APIConnection; и выдало ту же ошибку. (код подключения к VK в другом классе-синглтоне)
Вопрос решен.