Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.06.24;
Скачать: CL | DM;

Вниз

Удаление из Tlist   Найти похожие ветки 

 
Ezorcist   (2007-05-30 17:11) [0]

если создать item в списке:

list.add(@obj);

то как ее потм удалить? можно перебрать все элементы списка и найти тот который =@obj, или может быть можно как-то запомнить эту item которая была создана? (или есть способ еще проще?) :-)


 
clickmaker ©   (2007-05-30 17:12) [1]

IndexOf()?


 
Ezorcist   (2007-05-30 18:41) [2]

Это вернет номер итэма по содержимому? интересно как это реализовано, и не будет ли работать так же долго как перебор?


 
Плохиш ©   (2007-05-30 18:43) [3]


> Ezorcist   (30.05.07 18:41) [2]

Это и есть перебор.


 
Ezorcist   (2007-05-30 18:59) [4]

а можно быстрее?) просто никак не пойму можно ли запомниться итэм? а потом что-то типа PointerToItem.Delete; ? хотя итем и так поинтер?


 
Anatoly Podgoretsky ©   (2007-05-30 19:33) [5]

> Ezorcist  (30.05.2007 18:59:04)  [4]

Зачем тогда нужен TList вообще, запоминай сам указатель


 
Ezorcist   (2007-05-30 20:05) [6]

есть группа tobj если они все в листе то к ним удобно обращаться, но когда tobj понимает, что ему пора удаляться, он должен удалить и себя из этого списка. так вот если бы можно было дать tobj как поле ссылку на элемент списка, то тогда он быстро этот элемент удалил.

можно и через IndexOf но тогда при быстром появлении и удалении tobj -ов начинает тормозить.


 
ЮЮ ©   (2007-05-31 03:29) [7]

Delete в списке всё равно удаляет по индексу, а не по ссылке по итем, так что наличие ссылки не спасёт.

Как решение:
 1) вместо TList - TObjectList, созданный Create(true)
 2) нкаких но когда tobj понимает, что ему пора удаляться, удалять объект должен кто-то другой, причем именно из списка, экземпляр при этом будет уничтожен TObjectList-ом.



Страницы: 1 вся ветка

Текущий архив: 2007.06.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
1-1177384596
Mixal__
2007-04-24 07:16
2007.06.24
отладочная информация


8-1160757993
Minesweeper
2006-10-13 20:46
2007.06.24
Flash- обмен информацией с формой


3-1175150328
fishka
2007-03-29 10:38
2007.06.24
Проблема с Excel


15-1180100113
oldman
2007-05-25 17:35
2007.06.24
Кстати, сегодня День Освобождения Африки....


15-1180429999
Gydvin
2007-05-29 13:13
2007.06.24
С Новосибирска люди есть?