Здравствуйте.
Хочу использовать объект List для отображения информации пользователю, в приложении интерактивной карты. Столкнулся со следующей проблеммой:
импортирую нужные классы на уровне пакета

Код AS3:
import fl.controls.List;
import fl.data.DataProvider;
объявляю свойства

Код AS3:
static var scpdLocContentTree:List;
static var scpdLocContentTreeDataProvider:DataProvider;
перед работой с объектом создаю его экземпляр

Код AS3:
DialogWindows.scpdLocContentTree= new List();
DialogWindows.scpdLocContentTreeDataProvider = new DataProvider ();
пытаюсь взаимодействовать с объектом

Код AS3:
DialogWindows.scpdLocContentTreeDataProvider.addItem ({labels:'Монстры',contentXML:monsters});
DialogWindows.scpdLocContentTreeDataProvider.addItem ({labels:'Ресурсы',contentXML:resource});
DialogWindows.scpdLocContentTreeDataProvider.addItem ({labels:'Внутренние локации',contentXML:subLoc});
DialogWindows.scpdLocContentTree.dataProvider = scpdLocContentTreeDataProvider;
DialogWindows.scpdLocContentTree.labelField = 'labels';
и при компиляции получаю ошибку
Цитата:
путькфайлу\map\msl\DialogWindows.as, строка 7 1172: Не удалось найти определение fl.data ataProvider.
путькфайлу\map\msl\DialogWindows.as, строка 6 1172: Не удалось найти определение fl.controls:List.
|
и остальные ошибки вытекающие из этих, то есть невозможность обратиться к неопределенному свойству и.т.п.
Прочел справку по компоненту List, там в примере он импортируется на уровне класса, убрал импортирование на уровне пакета, добавил на уровне класса, как и ожидалось проблему это не решило.
Поскольку на AS это моя первая работа, варианты "почему так происходит" у меня уже кончились, прошу помощи.
Вот весь код класса (это черновой набросок).

Код AS3:
package msl{
import flash.display.Sprite;
import flash.text.TextField;
import fl.controls.List;
import fl.data.DataProvider;
public class DialogWindows extends Sprite {
const SHOW_COORD_POINT_DETAILS = 'scpd';
const SEARCH = 's';
const SEARCH_RESULT = 'sr';
const EDIT_COORD_POINT = 'ecp';
const ERROR = 'e';
static var body:Sprite;
static var winTitle:TextField;
static var scpdLocName:TextField;
static var scpdXPos:TextField;
static var scpdYPos:TextField;
static var scpdTurnLEFT:Turn;
static var scpdTurnRIGHT:Turn;
static var scpdTurnUP:Turn;
static var scpdTurnDOWN:Turn;
static var scpdTurnLEFTBtn:Sprite;
static var scpdTurnRIGHTBtn:Sprite;
static var scpdTurnUPBtn:Sprite;
static var scpdTurnDOWNBtn:Sprite;
static var scpdIsRoad:Boolean;
static var scpdLocContentTree:List;
static var scpdLocContentTreeDataProvider:DataProvider;
public function DialogWindow (type:String, ...variableArray) {
switch (type) {
case SHOW_COORD_POINT_DETAILS :
showCoordPointDetailsWindow (variableArray);
break;
case SEARCH :
searchWindow (variableArray);
break;
case SEARCH_RESULT :
searchResultWindow (variableArray);
break;
case EDIT_COORD_POINT :
editCoordPointWindow (variableArray);
break;
default :
errorWindow ();
}
}
function showCoordPointDetailsWindow (...varArray):Sprite {
var monsters:XMLList = new XMLList(Main.mapXML.meridian[varArray[0] + 15].paralell[varArray[1] + 15].monsters);
var resource:XMLList = new XMLList(Main.mapXML.meridian[varArray[0] + 15].paralell[varArray[1] + 15].resource);
var subLoc:XMLList = new XMLList(Main.mapXML.meridian[varArray[0] + 15].paralell[varArray[1] + 15].subLoc);
try {
if (varArray.length == 0) {
throw new Error('Методу не переданы параметры. Возможно произошла внутренняя ошибка среды Flash player, закройте данное окно и повторите вызов');
}
DialogWindows.winTitle = DialogWindows.scpdXPos = DialogWindows.scpdYPos = DialogWindows.scpdLocName = new TextField();
DialogWindows.scpdLocContentTree= new List();
DialogWindows.scpdLocContentTreeDataProvider = new DataProvider ();
DialogWindows.scpdTurnLEFT = new Turn(varArray[3]);
DialogWindows.scpdTurnRIGHT = new Turn(varArray[4]);
DialogWindows.scpdTurnUP = new Turn(varArray[5]);
DialogWindows.scpdTurnDOWN = new Turn(varArray[6]);
DialogWindows.scpdTurnLEFTBtn = DialogWindows.scpdTurnRIGHTBtn =DialogWindows.scpdTurnUPBtn = DialogWindows.scpdTurnDOWNBtn = DialogWindows.body = new Sprite();
DialogWindows.scpdLocContentTreeDataProvider.addItem ({labels:'Монстры',contentXML:monsters});
DialogWindows.scpdLocContentTreeDataProvider.addItem ({labels:'Ресурсы',contentXML:resource});
DialogWindows.scpdLocContentTreeDataProvider.addItem ({labels:'Внутренние локации',contentXML:subLoc});
DialogWindows.scpdLocContentTree.dataProvider = scpdLocContentTreeDataProvider;
DialogWindows.scpdLocContentTree.labelField = 'labels';
} catch (e:Error) {
trace ('Произошла ошибка: '+ e.message);
}
return DialogWindows.body;
}
function searchWindow (...varArray) {
}
function searchResultWindow (...varArray) {
}
function editCoordPointWindow (...varArray) {
}
function errorWindow (...varArray) {
}
}
}