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

Регистрация: Jul 2012
Сообщений: 112
Цитата:
Сообщение от Wolsh Посмотреть сообщение
В Вашем коде при любом действии все объекты до единого заново пересоздаются. Я уже не говорю про эффективность использования памяти; объясните мне, как Вы собираетесь управлять системой, каждая часть которой удаляется и создается новая при любом действии?
Зачем Вам создавать новый редактор XML при каждом клике по "добавить/отнять колонку/строку"? Зачем удалять всю карту при этом и создавать с нуля новую? У Вас же в классе есть метод, обновляющий текущую карту (собственно о нем и ставился вопрос). И редактор в единственном числе прекрасно справляется. Такое ощущение, что код писали два человека, забыв договориться.
Код AS3:
private var editor:XMLEditor;
 
public function completeLoad(e:Event):void
		{		
			// Присваиваем данные XML переменной
			dataMap = new XML(urlLoader.data);
			// Добавляем тулбар
			toolbar();	
			// Добавляем карту
			cellMap();
 
			editor = new XMLEditor(dataMap); // теперь создаем только один редактор
		}
 
public function buttonActions(e:MouseEvent):void
		{
//удаление всех объектов убираем
			//removeChild(cell);
			//cell = null;
 
			if(e.target.name == "ADD_LINE")
			{
				editor.addLine();
			} 
			else if (e.target.name == "DEL_LINE")
			{
				//removeChild(cell);
				//cell = null;
				editor.delLine();
			}
			else if (e.target.name == "ADD_COLUMN")
			{
				editor.addColumn();
			}
			else if (e.target.name == "DEL_COLUMN")
			{
				//removeChild(cell);
				//cell = null;
				editor.delColumn();
			}
			cell = new Map();
// обновляем отображение
			cell.displayCell(dataMap);
			addChild(cell);			
		}
и теперь я не могу понять как его заставить работать, потому что так ничего не работает