Главная страница
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.024 c
5-1163941996
QuerySkin
2006-11-19 16:13
2007.12.02
Какие скины выбрать?


2-1194708408
anonymous
2007-11-10 18:26
2007.12.02
Как добавить все столбцы в TDBGrid Run-Time?


15-1193818424
ocean
2007-10-31 11:13
2007.12.02
EMail-дизайн


2-1194626179
asd00
2007-11-09 19:36
2007.12.02
как с эмитировать нажатие правой/левой кнопки мыши?


2-1194000155
Ega23
2007-11-02 13:42
2007.12.02
как такой AV ловить?