Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.04.24;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "Основная";
Текущий архив: 2003.04.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.008 c
8-77031
NetKnight
2003-01-11 15:45
2003.04.24
MMTools


3-76806
Андрей Королёв
2003-04-05 18:27
2003.04.24
Как заставить InputQuery принимать INTEGER значения


1-76983
Xoy
2003-04-12 20:24
2003.04.24
как получить ASCII код


3-76823
Dim!S
2003-04-07 07:21
2003.04.24
Чересстрочная раскраская DBGrid в фильтре


1-76925
Тундра
2003-04-15 04:39
2003.04.24
Еще про ExcelApplication





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский