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

Вниз

Почему замедляется работа процедуры?   Найти похожие ветки 

 
MegaBonus   (2004-10-24 23:52) [0]

Доброе время суток! У меня такая проблема -
Существует процедура которая ищет в списке какие-то необходимые данные, в это время на панели два лейбла показывают - первый сколько всего в списке строк, а второй сколько уже найдено совпадений. Если не использовать отображение результатов работы процедуры с помощью этих лейблов, то время затрачиваемое процедурой на работу составляет ок. 1 секунды. А если использовать, то оно увеличивается почти до 10 секунд. Как сделать так чтобы и результаты отображались и время работы небыло таким большим?


 
Palladin ©   (2004-10-24 23:59) [1]

обновлять лейблы пореже


 
4e6ypaTop _@(o,o)@_ ©   (2004-10-25 00:15) [2]

Попробуй использовать не label.caption а например Form.caption


 
TUser ©   (2004-10-25 10:57) [3]

Прорисовка - это дело медленное. Рисуй не всегда, а иногда только, примерно так
for i:=0 to ... do
begin

if i mod 100 = 0 then // На каждой сотой итерации
begin
label1.caption:="...";
application.processmessages;
end;
end;

ИМХО - при таком раскладе, если все за секунду делается - отображать прогресс совершенно лишнее.


 
MegaBonus   (2004-10-25 12:29) [4]

TUser ©   (25.10.04 10:57) [3]

Большое спасибо


 
GuAV ©   (2004-10-25 12:50) [5]

Я в такой ситуации сравнивал GetTickCount текущее значение со значением предыдущей прорисовки и рисовал когда разница больше 200.



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

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

Наверх




Память: 0.47 MB
Время: 0.488 c
3-1097329515
Pashkerton
2004-10-09 17:45
2004.11.07
Выборка из временной таблицы


3-1096963548
neat
2004-10-05 12:05
2004.11.07
DBGrid: постраничный вывод


1-1098866748
новичок-512
2004-10-27 12:45
2004.11.07
Стиль Windows XP и кнопки с иконками


1-1098134528
TechnoDreamer
2004-10-19 01:22
2004.11.07
Обработка onClick при DragMode:=dmAutomatic


1-1098687169
svv
2004-10-25 10:52
2004.11.07
Как добавить TAction код клавиши + с цифровой клавы