Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.12.02;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.065 c
2-1194535583
..::KraN::..
2007-11-08 18:26
2007.12.02
Удаление пробелов в TMemo.


2-1194539086
Kick
2007-11-08 19:24
2007.12.02
ClientSocket, ServerSocket


15-1193421519
Vendict
2007-10-26 21:58
2007.12.02
Географические координаты в метры


15-1193827892
Ega23
2007-10-31 13:51
2007.12.02
Народ, а никто случайно не знает, какой сейчас официальный


15-1194104709
tarasoff
2007-11-03 18:45
2007.12.02
BPwin ERWin





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский