Главная страница
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.019 c
2-1180532703
DmitrichJ
2007-05-30 17:45
2007.06.24
ADOConnection. Как указать только путь к БД?


2-1180533394
ShpionGraF
2007-05-30 17:56
2007.06.24
таблица MS Word


4-1168940795
Невский
2007-01-16 12:46
2007.06.24
Весы Bizerba


2-1180772684
Gloomer
2007-06-02 12:24
2007.06.24
Разрыв соединения


2-1180607028
Шакал
2007-05-31 14:23
2007.06.24
Добавить значение в уже имеющуюся строку