Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.017 c
11-1179038922
VPBar
2007-05-13 10:48
2007.12.02
Предложение по доработке MCK для совместимости с автоформатерами


15-1193738004
infom
2007-10-30 12:53
2007.12.02
bat файл компиляции проекта


15-1194322708
Slider007
2007-11-06 07:18
2007.12.02
С днем рождения ! 6 ноября 2007 вторник


2-1194273663
-=Le][=-
2007-11-05 17:41
2007.12.02
Как узнать откуда запущен чужой процес?


15-1193996143
ocean
2007-11-02 12:35
2007.12.02
IIS под XP




   Наверх