Показать сообщение отдельно
Старый 22.09.2011, 17:54
maksimov вне форума Посмотреть профиль Отправить личное сообщение для maksimov Найти все сообщения от maksimov
  № 1  
Ответить с цитированием
maksimov
 
Аватар для maksimov

Регистрация: Jan 2010
Сообщений: 28
По умолчанию hurlant eval, чудеса с областью видимости в as3

Код AS3:
package com
{
	public class Util
	{
		public static function print(arg:String):void
		{
			trace(arg);
		}
	}
}


далее начинаются чудесаааатые чудеса:

Код AS3:
import com.Util;
...
Util.print('test1');
 
var src:String =
"namespace COM = 'com';\n" +
"use namespace COM;\n" +
"Util.print('test2');";
 
ByteLoader.loadBytes(esc.eval(src));
Получаю в трейсе:
Цитата:
test1
test2

Код AS3:
import com.Util;
...
//Util.print('test1');
 
var src:String =
"namespace COM = 'com';\n" +
"use namespace COM;\n" +
"Util.print('test2');";
 
ByteLoader.loadBytes(esc.eval(src));
Получаю:
Цитата:
ReferenceError: Error #1065: Переменная Util не определена.
То есть, если я не использовал эту функцию ранее - она оказывается невидна.
__________________
GAE + Flex = CyoaWare =)