Проблемы суть такова..
Имеется небольшое тестовое приложение, при воспроизведении его на локальной машине, таблица рекордов заполняется, процесс "трейсится" в созданном специально для теста TextBar. Но при загрузке приложения вконтакт оно напрочь отказывается работать, в плане страдает именно выполнение completeFunction и errorFunc части метода getHighScore.
Код.

Код AS3:
package {
import flash.display.MovieClip;
import flash.display.*;
import flash.events.*;
import flash.ui.*; //Mouse
import flash.utils.*;
import vk.APIConnection;
import vk.events.*;
import vk.ui.VKButton;
public class ScoreScreen extends MovieClip{
private var _textBar:CurText = new CurText();
//VK parameters
private var VK:APIConnection;
private var flashVars:Object;
//Some parameters
private var user_id:Number = new Number();
//Containers
private var scoreCont:Sprite = new Sprite();
private var btnsCont:Sprite = new Sprite();
//Btns
private var _BtnBack:Wind;
private var _loader:Loader = new Loader();
public function ScoreScreen() {
if(stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void{
addChild(_textBar);
_textBar.TextBar.appendText("\n" + "TEXT BAR TEST");
addChild(scoreCont);
addChild(btnsCont);
removeEventListener(Event.ADDED_TO_STAGE, init);
var flashVars: Object = stage.loaderInfo.parameters as Object;
if (!flashVars.api_id) {
// -- Your code for local testing:
flashVars['api_id'] = 3228620;
flashVars['viewer_id'] = 115441537;
flashVars['sid'] = "3d0a675f1e2549d172a5dafdf35fee95d87b76a3e210fa3a413ea490f527218a9679876d8268a5e32707c";
flashVars['secret'] = "aa8e2ba6ab";
// -- //
}
user_id = flashVars['viewer_id'];
VK = new APIConnection(flashVars);
_BtnBack = new Wind();
_BtnBack.x = 50;
_BtnBack.y = 50;
Wind(_BtnBack).setM("== BACK ==", 74, 20);
_textBar.TextBar.appendText("\n" + "SHOW BEST FUNC");
VK.api("getHighScores", {}, completeFunc, errorFunc);
_textBar.TextBar.appendText("\n" + "VK.API func added");
btnsCont.addChild(_loader);
_loader.x = 190.5;
_loader.y = 200;
//addEventListener(Event., showBest);
//showBest();
btnsCont.addChild(_BtnBack);
_BtnBack.addEventListener(MouseEvent.CLICK, endFunc);
}
private function endFunc(e:MouseEvent):void {
for( var j:int = 0; j < scoreCont.numChildren; j++ ){
scoreCont.removeChild(scoreCont.getChildAt(j));
}
btnsCont.removeChild(_BtnBack);
_BtnBack.removeEventListener(MouseEvent.CLICK, endFunc);
_BtnBack = null;
dispatchEvent(new Event("BACK_BTN", true));
}
private function showBest():void {
_textBar.TextBar.appendText("\n" + "SHOW BEST FUNC");
VK.api("getHighScores", {}, completeFunc, errorFunc);
_textBar.TextBar.appendText("\n" + "VK.API func added");
btnsCont.addChild(_loader);
_loader.x = 190.5;
_loader.y = 200;
}
private function completeFunc(data:Object):void{
_textBar.TextBar.appendText("\n" + "Complete function");
_textBar.TextBar.appendText("\n" + data);
btnsCont.removeChild(_loader);
_loader = null;
for( var i:int = 0; i < data.length; i++ ){
_textBar.TextBar.appendText("\n" + data[i].user_name + " " + data[i].score + "sec");
trace(i+1 + ": " + data[i].user_name + " " + data[i].score + "sec");
var setters:String = String(i+1 + ": " + data[i]['user_name'] + " " + data[i].score + "sec");
var _bar:Wind = new Wind();
var widthP:int = 170; //Parameters
var heightP:int = 20;
Wind(_bar).setM(setters, widthP, heightP);
_bar.x = (stage.stageWidth - widthP) / 2;
_bar.y = (stage.stageHeight - heightP) / 2 - 140 + i * 30;
_bar.alpha = 1 - (0.3 * i)/data.length;
scoreCont.addChild(_bar);
}
}
private function errorFunc(data:Object):void{
trace(data.error_msg);
_textBar.TextBar.appendText("\n" + data.error_msg);
}
}
}
Исходник смотрите во вложениях к теме.
С чем может быть это связано?