Показать сообщение отдельно
Старый 14.08.2008, 02:34
XBEEN вне форума Посмотреть профиль Отправить личное сообщение для XBEEN Найти все сообщения от XBEEN
  № 6  
Ответить с цитированием
XBEEN

Регистрация: Dec 2007
Сообщений: 69
Ты запутался в this'ах, а еще разберись в области видимости функции...
Внутри анонимной функции this'ом является экзепляр xml, а экзепляр объекта punkt внутри данной функции не будет виден.
И вообще ЗАЧЕМ ты экзепляру объекта punkt присваиваешь экзепляр класса?
В общем решение может быть таким:
Код:
private var menu_db:Array = new Array();
private var frame_Up:MovieClip;
private var xml:XML;
private function getXMLDaten(xml_weg:String):Void {
		xml.onLoad = Proxy.create(this, checkLoadingResult);
		xml.load(xml_weg);
}
private function checkLoadingResult():Void {
		if(xml.loaded) {
			// твой код
			initMenu(arr);
		}
}
private function initMenu(arr:Array):Void
{

}
Создаешь дополнительный класс Proxy, который расширяет область видимости
Код:
class Proxy
{
	public static function create(obj:Object, func:Function):Function
	{
		var arg:Array = arguments.slice(2);
		var new_func:Function = function()
		{
			return func.apply(obj, arg);
		};
		return new_func;
	}
}
Proxy позволяет передавать параметры, но в нашем случае можно было использовать встроенный класс mx.utils.Delegate!
В любом случае это "гавнокод", лучше разберись в принципах ООП, а потом пиши код в классах.


Последний раз редактировалось XBEEN; 14.08.2008 в 02:41.