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

Вниз

"Подвисание" компьютера при работе рекурсии и цикла...   Найти похожие ветки 

 
mufan   (2007-11-10 15:45) [0]

Доброго времени суток!

Имеем:
1. Рекурсивную функцию... внутри функции цикл for...
2. Все точки выхода отлажены... При выхове этой функции результат всегда достигается!

Вообщем логически механиз отлажен!

Что делаем:
1. Ставим, например, вызов этой функции на buttonclick.
2. Как известно, при наведении на кнопку курсор - стрелка (по дефолту)
3. жмем кнопку - вызывается функция

Проблемы:
1. Я знаю сколько всего раз программа окажется внутри цикла, перед тем как вернется в buttonclick. Это количество раз пусть будет 540000000 (540 млн.)... Я определяю время до вызова, время после вызова... Разница на моем компе 13 секунд...
2. Так вот эти 13 секунд прога "висит":
- мышь двигается, но курсор как был стрелкой (после кнопки), так и остается хоть куда его наводи
- щелчок по любому месту окна приводит к появлению в заголовке "... (Не отвечает)"
3. Через 13 сек. прогу "отпускает"!

+

я ставлю в цикле еще увеличивать позицию прогрессбара... тоже не работает...

Вопросы:
1. Как избежать подобного "зависания"...??? Например, можно панель на передний план "модально" вывести панель... Там написать "Ждите... Для прекращения нажмите Esc"! Как?
2. Как отлавливать в такой ситуации нажатие Esc и как прекратить операцию?
3. Как заставить ProgressBar все-таки отображать полоску...

Спасибо! =)


 
Anatoly Podgoretsky ©   (2007-11-10 15:46) [1]

> mufan  (10.11.2007 15:45:00)  [0]

Application.ProcessMessages


 
mufan   (2007-11-10 15:47) [2]


> я ставлю в цикле еще увеличивать позицию прогрессбара...
>  тоже не работает...


максимальное количество я знаю... а текущее инкрементируется в глобальной переменной...



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

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

Наверх




Память: 0.47 MB
Время: 0.02 c
6-1175356270
Tiberius
2007-03-31 19:51
2007.12.02
Как запретить TWebBrowser.GoBack


2-1194625347
asd00
2007-11-09 19:22
2007.12.02
как узнать что нажата кнопка Esc?


2-1194441116
..::KraN::..
2007-11-07 16:11
2007.12.02
Как перевести компьютер в спящий режим


2-1194416145
XIO
2007-11-07 09:15
2007.12.02
Delphi .Net и XML


15-1194252709
andreoman
2007-11-05 11:51
2007.12.02
программка фиксирующа обращение к порту ПК