Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с 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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо