![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с TStringList
Шишкин Илья © (2004-06-14 21:16:00)Почему TStringList съедает столько оперативной памяти?
Я вывожу 9000 строк (5 столбцов).
В каждой строке примерно по 50 символов.
9000*50=450000 Байт=429 кБайт
А диспетчер задач Windows пишет, что приложение занимает 119Мб!
Причём я точно знаю, что проблема в TStringList:
Если закомменитровать строки
//Grid.Rows[i]:=GridNames;
//Grid.RowCount:=i+1;
То объём занимаемой памяти сократится до 4Мб!
Может кто-нибудь сталкивался с подобной проблемой?
Fay (2004-06-15 01:24:00) [1]Зипуй!
KilkennyCat (2004-06-15 01:21:00) [2]
> Fay (15.06.04 01:16) [6]
не... боюсь, если даже каждая строка по миллиметру...
Fay (2004-06-15 01:16:00) [3]2KilkennyCat © (15.06.04 01:12) [5]
Меняй монитор! Бери сразу строк на 25000 - чтобы надолго хватило 8)
KilkennyCat (2004-06-15 01:12:00) [4]
> pasha_golub © (15.06.04 01:01) [4]
я могу проскроллировать.... :)
Но увидеть сразу все - монитор не потянет
pasha_golub (2004-06-15 01:01:00) [5]Шишкин Илья (14.06.04 22:56) [3]
Это понятно. Послушайся sniknik'aа еще лучше аргументируй, на кой черт в гриде нужно 9000 строк.
Мое опережающее аргументирование: грид это компонент для визуализации данных, а какой пользователь в здравом уме сможет проскролировать 9000 строк?
Шишкин Илья (2004-06-14 22:56:00) [6]Прошу прощения. Я ошибся. Не TStringList, а TStringGrid
sniknik (2004-06-14 21:42:00) [7]добавленее строк по одной к GridStringList(?)-у не очень то хорошая идея, попробуй предварительно вычислить нужное количество а после добавить все скопом, 1 раз. может и не очень но это должно отразится на памяти.
Анатолий Подгорецкий (2004-06-14 21:33:00) [8]Это не может относиться к TStringList
//Grid.Rows[i]:=GridNames;
//Grid.RowCount:=i+1;