Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.27;
Скачать: CL | DM;

Вниз

В продолжении темы...   Найти похожие ветки 

 
Лана Розанова ©   (2002-05-13 21:52) [0]

Привет всем. Кто еще помнит был влопрос про обрезание хвостов (не смогла найти ветку). Он еще в силе.
Программа находится в режиме круглосуточного опроса приборов с интервалом в одну секунду. Программа минимизированна, дабы не мешать работе оператора. По истечению трех дней программа набирает вес размером в 15 с половиной мегабайт оперативной памяти. Я представляла код, но он никому не показался подозрительным. Единственное, что могу добавить, так это то что при максимизировании а потом вновь минимизировании окна программы она снова принимает свой стартовый вес в 1.5 Мгб и начинается ее неудержимый рост.
Как сбросить эту память, хотя бы переодически.
СПАСИБО!!!


 
BAHO ©   (2002-05-14 02:05) [1]

Попробуй раз в час максимизировать а потом сворачивать !


 
Almaz ©   (2002-05-14 02:09) [2]


> Лана Розанова © (13.05.02 21:52)

Не могли бы вы привести код программы. Хотя бы критические участки.

Удачи.


 
Лана Розанова ©   (2002-05-14 20:12) [3]

> BAHO
Программно так не работает. Необходимо делать вручную.

> Almaz
Там ничего сташного. Одна таблица с БД открыта целые сутки и каждую секунду в нее добавляется новая запись. Еще открываются и закрываются Ini-файлы.


 
Лана Розанова ©   (2002-05-14 21:00) [4]

Ребята, может кто знает? Я уже и не знаю что делать...


 
Лана Розанова ©   (2002-05-15 06:01) [5]

hvf


 
Мальфет ©   (2002-05-15 08:47) [6]

Лана, нужно видеть код, чтобы ответить на твой вопрос. А вообще, посмотри, какие буфера можно сбрасывать по ходу выполнения программы. Сбрасывай все, какие возможно.


 
Lord Warlock ©   (2002-05-15 09:10) [7]

Лана Розанова ©
Есть предложение - не пользоваться БД


 
Casee   (2002-05-15 10:32) [8]

Полностью согласен с Lord Warlock. Если не очень сложная база данных, запихивай все в файл.


 
KilkennyCat ©   (2002-05-15 10:47) [9]

А что именно набирает вес, сама программа в памяти, или все-таки база данных? Ведь запись в секунду - это 3600 записей в час...
Если набирает вес программа, то нужно проследить, нет ли где лишнего создания ресурса без его уничтожения в дальнейшем. Чтобы база была поменьше, разбивать на отдельные файлы, с именем-временем. А вообще, раз глюк проходит при максиминимизации формы, то просто нужно посмотреть, что происходит при событиях формы (появление, активизация и проч.). Вполне возможно, там где-то стоит что-то типа Stream.Free;


 
AFROLOV ©   (2002-05-15 11:02) [10]

А через что идет работа с БД?


 
Севостьянов Игорь ©   (2002-05-15 18:58) [11]

А может это поможет

procedure TfrmMain.FormDestroy(Sender: TObject);
begin
Application.OnIdle := nil;
end;

procedure TfrmMain.FormShow(Sender: TObject);
begin
Application.OnIdle := IdleHandler;
end;

procedure TfrmMain.IdleHandler(Sender: TObject; var Done: Boolean);
begin
Application.ProcessMessages;
end;

или установка различного приоритета для программы
ну а вообще может где-то что-то накапливается и не освобождается, то для этого надо код смотреть
Опять же создавай например Log и смотри в какой момент и в каком месте и при каких условиях идет "утечка"

Вопросы по мылу



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

Текущий архив: 2002.05.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.015 c
4-88670
JIX
2002-03-26 14:21
2002.05.27
Цвета экрана


1-88395
hooky-mars
2002-05-14 21:56
2002.05.27
Глюк при Length(Form1.RichEdit1.Lines.Text)


1-88489
Ascan
2002-05-07 02:50
2002.05.27
TWebBrowser растет как шарик...


1-88535
Alex_Ph
2002-05-15 22:32
2002.05.27
Необходимо запустить программу из Delphi


1-88446
Димок
2002-05-17 14:28
2002.05.27
Как убрать свое приложение с панели задач?