Главная страница
    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.048 c
15-1194178514
andreoman
2007-11-04 15:15
2007.12.02
как читать чужиее смс


2-1194363691
dumka
2007-11-06 18:41
2007.12.02
DBImage


15-1193506385
Parus
2007-10-27 21:33
2007.12.02
telnet server под linux


2-1194692484
GSC
2007-11-10 14:01
2007.12.02
Переименование ключа


15-1194281177
Slider007
2007-11-05 19:46
2007.12.02
С днем рождения ! 5 ноября 2007 понедельник





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский