Вниз
Скачать: 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
4-77236
Andrej
2003-02-27 14:20
2003.04.24
Размер шрифта


7-77197
SeNtiMeL
2003-03-06 22:10
2003.04.24
Как определить имя компьютера и описание компьютера ?


4-77235
igorbuz
2003-02-23 04:42
2003.04.24
запуск программы из своей с контролем


6-77056
xarox
2003-02-25 22:04
2003.04.24
Как можно сделать smtp сервер?


11-76868
Alexei Dragoner
2002-07-17 19:46
2003.04.24
TKOLForm.Paint, где ты?




   Наверх