Проблема с APIConnection

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в Flash-приложениях (ActionScript)
Ответить
prinum
Сообщения: 19
Зарегистрирован: 24 июл 2012, 16:39

Проблема с APIConnection

Сообщение prinum »

Добрый день! Подскажите, может кто-то с таким сталкивался:

у меня в основном кадре, подключен класс где собственно основной код, там я вызываю

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

VK = new APIConnection(flashVars);
, перехожу в другой кадр

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

MovieClip(parent).gotoAndStop(3); 
там пользователь выполняет свои действия, нажимает вернуться и попадает опять на тот же кадр, вызывается опять конструктор и в месте

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

VK = new APIConnection(flashVars) 
выпадает с ошибкой

"Can't connect from App. The connection name is already being used by another SWF."

Как ни боролся с этим, пробовал в самой APIConnection добавлять random к имени коннекта, ничего не помогает.
sanych_dv
Разработчик
Разработчик
Сообщения: 550
Зарегистрирован: 29 апр 2011, 01:52

Re: Проблема с APIConnection

Сообщение sanych_dv »

Подскажу: завязывайте писать код в кадрах.
prinum
Сообщения: 19
Зарегистрирован: 24 июл 2012, 16:39

Re: Проблема с APIConnection

Сообщение prinum »

Так в кадрах кода нет, он весь в классах привязанных к кадрам.
prinum
Сообщения: 19
Зарегистрирован: 24 июл 2012, 16:39

Re: Проблема с APIConnection

Сообщение prinum »

Такая же ошибка возникает если просто сделать так:

VK = new APIConnection(flashVars);
VK_2 = new APIConnection(flashVars);
sanych_dv
Разработчик
Разработчик
Сообщения: 550
Зарегистрирован: 29 апр 2011, 01:52

Re: Проблема с APIConnection

Сообщение sanych_dv »

Не надо привязывать код к кадрам. У вас в идеале должна быть девственно чистая сцена и один класс, подключенный к проекту. Все остальные классы при необходимости подключаются через основной класс проекта и вы должны работать исключительно с библиотечными символами. Навигация по проекту в стиле "gotoAndStop() и что-то там сделать путем вызова кода из этого фрейма" должна быть забыта вместе с AS2.
sanych_dv
Разработчик
Разработчик
Сообщения: 550
Зарегистрирован: 29 апр 2011, 01:52

Re: Проблема с APIConnection

Сообщение sanych_dv »

В вашем же случае можно только создать "костыль" в виде флага, который будет отслеживать повторный вызов кода.
prinum
Сообщения: 19
Зарегистрирован: 24 июл 2012, 16:39

Re: Проблема с APIConnection

Сообщение prinum »

Решил проблему, через отдельный класс, который инициализируемый один раз в прелоадере:

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

     package {        import vk.APIConnection;        import vk.events.*;                 public class GlobalVK {             public static var VK:APIConnection;                        public static function VK_connect_init(f_vars:Object):void{                VK = new APIConnection(f_vars);            }            }      } 
в прелоадере вызываю

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

 GlobalVar.VK_connect_init(flashVars); 
в основном классе

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

 private var VK:APIConnection = GlobalVar.VK; 
и дальше как обычно уже обращаюсь к этой обертке.
Ответить