Вниз
Скачать: CL | DM;

TCollection и TCollectionItem   Найти похожие ветки 

← →
Still Swamp   (2003-04-14 09:46) [0]

Проблема следующая.

Создаю некие TCollection и TCollectionItem. Добавляю 150тыс элементов. Задержка минимальная. Те ничтожная. Хорошо.

Вызываю Collection.Clear - задержка минут 5-7. С чем это связано?
Есть ли еще какой нибудь споcб работы с длинными списками?


← →
malkolinge ©   (2003-04-14 12:13) [1]

procedure TCollection.Clear;
begin
if FItems.Count > 0 then
begin
BeginUpdate;
try
while FItems.Count > 0 do
TCollectionItem(FItems.Last).Free;
finally
EndUpdate;
end;
end;
end;

Не подкопаться :(....А зачем тебе имеено коллекция ?


← →
Still Swamp   (2003-04-14 14:58) [2]

угу - и я не подкопался... но как же она долго работает.
а почему коллекция? - удобно. просто раньше с небольшим количеством работал - а сейчас вот косяк случился.


← →
malkolinge ©   (2003-04-14 15:23) [3]

В чем жу удобство ? тебе список на стадии разработки приложения нужен ? в дизайн тайме ?


← →
REA ©   (2003-04-14 15:33) [4]

Сложно представить коллекцию в виде 150к элементов.
А может задержка собственно в деструкторе?
Вот где профайлер бы пригодился, который Борланд упорно не хочет делать.


← →
Юрий Федоров ©   (2003-04-14 15:59) [5]

Судя по коду в деструкторе Item"а идет поиск его в списке и удаление из списка. Видимо, поиск в списке и занимает столько времени.
Почему не использовать TList?


← →
malkolinge ©   (2003-04-14 18:16) [6]


> Судя по коду в деструкторе Item"а идет поиск его в списке
> и удаление из списка. Видимо, поиск в списке и занимает
> столько времени.
> Почему не использовать TList?

Сие тайна !



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
7-77187
iusupp
2003-03-05 21:49
2003.04.24
Мастера ... можно играть и смотреть кино...?


7-77204
Andy BitOff
2003-03-08 19:48
2003.04.24
Раскладка клавиатуры


1-76969
Мыш
2003-04-13 00:53
2003.04.24
Создание компонента


4-77223
Alpine
2003-02-26 17:03
2003.04.24
Как в всплывающее меню IExplorer - а добавить свою строку ?


4-77229
Fighter
2003-02-26 10:51
2003.04.24
Доработка стандартного TEdit




   Наверх