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

Регистрация: Jan 2010
Сообщений: 28
Цитата:
Сообщение от silin Посмотреть сообщение
непонятно тебя
Попробую перефразировать.

В строковой переменной code я формирую текст кода, который потом выполняю с помощью esc.eval(code).

У меня есть некий ArrayCollection, каждый элемент которого является объектом с вот такой структурой: {type: "Int", id: "zozo", value: 25}

Я добавляю объекты из этого ArrayCollection, в формируемый мной текст кода, в виде инициализации переменных:

Код AS3:
for (var i:int = 0; i < myAC.length; i++)
{
	if (myAC[i].type == "String")
	{
		code += "var " + myAC[i].id + ":String = \"" + myAC[i].value + "\";\n";
	}
	else
	{
		code += "var " + myAC[i].id + ":int = " + myAC[i].value + ";\n";
	}
}
 
// в результате, {type: "Int", id: "zozo", value: 25} попадает в код в виде var zozo:int = 25;

Далее в code добавляется код, который изменяет значения проинициализированных таким образом переменных.
Теперь вот думаю, что нужно добавить в конце code, что бы изменения этих переменных адекватно отразились на содержимом элементов myAC.


Цитата:
Сообщение от silin Посмотреть сообщение
трудно угадать будет ли кому-то лучше, если загонять в конце
=))

Добавлено через 20 минут
Кажись нашол.

Решением является такой код:
Код AS3:
for (i = 0; i < myAC.length; i++)
{
	code += "Util.set(" + i + ", " + myAC[i].id + ");\n"
}
 
...
 
 
public static function set(arg1:int, arg2:*):void
{
	myAC[arg1].value = arg2;
}
__________________
GAE + Flex = CyoaWare =)


Последний раз редактировалось maksimov; 22.09.2011 в 20:44.