Работа со списками TObjectList

_andrews_
Дата: 06.12.2007 10:48:19
У меня есть 2 списка
MainChannelsList: TObjectList;
ChannelsList: TObjectList;
в MainChannelsList хранится перечень объектов, их количество не меняется
в ChannelsList по мере необходимости добавляются, и затем удаляются объекты из MainChannelsList так:
ChannelsList.Add(MainChannelsList.Items[i]); //Добавление во второй список 
ChannelsList.Items[0].Free; //Удаление из второго списка
Так вот:
при УДАЛЕНИИ СО ВТОРОГО СПИСКА объект удаляется и из первого
Как этого избежать?*
Entaro Adun
Дата: 06.12.2007 10:57:00
_andrews_
Как этого избежать?*

Понять, что есть указатель...
Naf
Дата: 06.12.2007 10:57:30
_andrews_
У меня есть 2 списка
MainChannelsList: TObjectList;
ChannelsList: TObjectList;
в MainChannelsList хранится перечень объектов, их количество не меняется
в ChannelsList по мере необходимости добавляются, и затем удаляются объекты из MainChannelsList так:
ChannelsList.Add(MainChannelsList.Items[i]); //Добавление во второй список 
ChannelsList.Items[0].Free; //Удаление из второго списка
Так вот:
при УДАЛЕНИИ СО ВТОРОГО СПИСКА объект удаляется и из первого
Как этого избежать?*


так как вы делаете, объекты не удаляются (ссылки на недействующие элементы кстати остаются) из списка а уничтожаются, вообще
поэтому удаляйте из списка Extract
Naf
Дата: 06.12.2007 11:02:38
Вообще автор молодец, сразу видно, что не использует Delphi просто как VisualBasic. Это к тому, что есть такие, которым достаточно просто накидать компонент на формочку. Из-за последних и сложилось неправильное мнение, что Delphi на порядок хуже C++
Мол конечно что нить простенькое легче на делфи, а вот сложное невозможно. Скажем им "вы просто не умеете его готовить" :-)
_andrews_
Дата: 06.12.2007 11:02:52
Naf
удаляйте из списка Extract

Спасибо!
то что надо!