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

Вниз

Удалить память выделенную под нужды компонента...   Найти похожие ветки 

 
Grol ©   (2005-11-01 18:43) [0]

На форму кинул Stringgrid, Memo, ListBox и Button. В Button пишу следущее:


...
Var i,j:integer;
begin
Memo1.Clear;
ListBox1.Clear;
for i:=0 to Stringgrid1.colcount-1 do
 for j:=0 to Stringgrid1.rowcount-1 do
  Stringgrid1.cells[i,j]:="";
Stringgrid1.rowcount:=1;
Stringgrid1.colcount:=1;
end;


Компилирую. Смотрю сколько прога занимает памяти в диспетчере задач = 4Мбайт. Забиваю Stringgrid, Memo, ListBox какими-нибудь данными, короче данных много (а...да у меня есть второй Button, там как раз код заполнения данными компонентов). Так вот заполнил...смотрю сколько сейчас весит прога = 30Мбайт. Нажимаю на Button1, там что код обнуления. Все, вроде бы данные удалил из компонентов...но нет!!! Посмотрел диспетчер задач и вижу прога осталась весить 30МБайт, как будто я даже и не удалял данные из компонентов, словом под данные была выделена память и удалятся не хочет при очищении компонентов от графического представлениЯ их.

Так вот вопрос такой, как можно удалить эту память, то что была выделена под данные? При условии, что после этой процедуры компоненты будут рабочие, т.е. я смог бы их снова забить какими-нибудь данными.
Спасибо заранее.


 
DrPass ©   (2005-11-01 19:43) [1]


> Так вот вопрос такой, как можно удалить эту память, то что
> была выделена под данные?

Никак не нужно. Памятью управляет менеджер памяти Delphi и операционная система. Они сами знают, когда и кому память выдавать, и когда освобождать, чтобы система работала с максимальной производительностью


 
Grol ©   (2005-11-01 19:51) [2]

А если этой памяти ну чень много...например под 250МБайт, там короче прога должна работать с большим  массивм данных. А если оперативы 512МБайт, то это очень накладно получается.


 
umbra ©   (2005-11-01 19:59) [3]


> прога должна работать с большим  массивм данных


тогда надо думать не о компонентах, а о данных. нужны ли они все сразу в памяти?


 
Grol ©   (2005-11-01 22:43) [4]

Да нужны...я же сказал, что я заполняю некий Stringrid данными, а информации там дофига...:) Так что...тогда как?


 
wicked ©   (2005-11-01 23:10) [5]


> я же сказал, что я заполняю некий Stringrid данными, а информации
> там дофига...:) Так что...тогда как?

не хранить данные в Stringrid-е - он не для этого придуман.... еще лучше - вообще его не использовать....


 
GanibalLector ©   (2005-11-02 02:08) [6]

2 Grol
Для отлова РЕАЛЬНЫХ утечек используй MemProof все остальное от лукавого.

2 wicked ©   (01.11.05 23:10) [5]
> еще лучше - вообще его не использовать....
Однако ;) Ладно...мотивируй!


 
wicked ©   (2005-11-02 13:16) [7]

> GanibalLector ©   (02.11.05 02:08) [6]

> 2 wicked ©   (01.11.05 23:10) [5]
> > еще лучше - вообще его не использовать....
> Однако ;) Ладно...мотивируй!

ленюсь много писать, поэтому вот:
http://delphimaster.net/view/1-1130238930/
постинг №7....



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

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

Наверх




Память: 0.48 MB
Время: 0.048 c
2-1131204041
Zed
2005-11-05 18:20
2005.11.20
Процессы


2-1130493477
Perf2k2
2005-10-28 13:57
2005.11.20
Всем привет. Проблемы со связкой DBComboBox и DataSource и вообще


14-1130321748
Dashout
2005-10-26 14:15
2005.11.20
предлагается подработка


14-1130476416
CHES
2005-10-28 09:13
2005.11.20
Мне сегодня исполнилось 10 000 дней.


3-1128587582
Maverick
2005-10-06 12:33
2005.11.20
Выполнение скриптов в MSSQL





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский