Показать сообщение отдельно
Старый 06.04.2011, 21:36
honest_man вне форума Посмотреть профиль Отправить личное сообщение для honest_man Найти все сообщения от honest_man
  № 1  
Ответить с цитированием
honest_man

Регистрация: Aug 2010
Сообщений: 86
По умолчанию Динамическое обращение к методу toXMLString() экземпляра класса XML.

Друзья и, в чем я очень сомневаюсь, подруги, помогите понять почему не получается динамически обратиться к методу toString(). Вот код:
Код AS3:
package com.mywebsite {
	import flash.display.Sprite;
	import flash.events.*;
	import flash.net.*;
 
	public class TestClass extends Sprite
		{
		public static var myOwnXML :XML ;
		private static var urlLoader :URLLoader ;
 
		/* Метод-конструктор: */
		public function TestClass ():void
			{
			/* Загружаем XML-файл: */
			var newRequest :URLRequest = new URLRequest("myXMLfile.xml");
			urlLoader = new URLLoader(newRequest);
 
			/* Регистрируем приемник для события "полная загрузка": */
			urlLoader.addEventListener(Event.COMPLETE, completeListener);
			}//Конец метода-конструктора
 
		/* Статический метод, выполняющийся сразу после полной загрузки XML-файла: */
		public static function completeListener (e:Event):void
			{
			myOwnXML = XML(urlLoader.data);
 
			/* Цикл отображающий всех детей корневого элемента в XML-файле: */
			for each (var XMLElement:XML in myOwnXML.*)
				{
 
				/* Рандом решает какой метод будет использоваться для отображения: */
				var randomToStringOrToXMLString:String =
					(Math.random() < 0.5) ? "toString" : "toXMLString" ;
 
				//Работают:
				//trace( XMLElement.toString() );
				//trace( XMLElement.toXMLString() );
 
				//Не работает: (ПОМОГИТЕ!!!)
				trace( XMLElement["toXMLString"]() );
				}
			}//Конец стат.метода textTypeListener
		}//Конец класса
	}//Конец пакета
Как бы, пытаюсь рандомно задать способ отображения, однако заминка- Почему-то не хочет динамически обращаться к методам toString()/toXMLString() экземпляра класса XML.

Я всегда думал что динамическое обращение работает везде, где работает обычное... Мозг в панике! =(((

Ах да, чуть не забыл, выдает вот эту ошибку:
Код:
TypeError: Error #1006: value is not a function.
	at com.mywebsite::TestClass$/completeListener()
	at flash.events::EventDispatcher/dispatchEventFunction()
	at flash.events::EventDispatcher/dispatchEvent()
	at flash.net::URLLoader/onComplete()


Последний раз редактировалось iNils; 07.04.2011 в 21:48.