Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.01.2015, 08:53   #11
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

Аватар, получился казус суть в том что метод NodeAdd() лишь дублирует указатель на копируемый нод и заносит его в классовый список. Получаем не копию, а репликант-образец нода от копируемого, и они взаимозависимы, т.к. указывают на одну и ту же область памяти.
Верным решением физического копирования нода будет:
Код:
var
  LNode,LNew:TXmlNode;
...
LNew:=LNode.Parent.NodeNew('');
LNew.CopyFrom(LNode);
И да, оборачивать в данном случае в TsdContainerNode нет необходимости, однако для NodeAdd() это обязательно.
Версия NativeXml 4.09 (не транковые исходники, стабильная офф версия).
"ковыряю изнутри" (с)
3D Hunter вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос добавление строки, копирование данных с условием MaxxVer Microsoft Office Excel 15 22.08.2017 12:24
добавление(копирование) листа при смене месяца runik Microsoft Office Excel 1 16.01.2014 11:32
XML Mapper, отображение только первого нода KAMIKAZA БД в Delphi 0 13.10.2011 13:28
Копирование и добавление фиксированных столбцов Lock95 Microsoft Office Excel 6 06.05.2011 11:23
сохранения данных в стрингриде после редактирования его (добавление) ansysadmin БД в Delphi 0 23.11.2009 17:37