Продолжительные фоновые операции!!
У меня есть один вопрос, который не дает мне покоя.
Попробую описать задачу. Есть математический алгоритм, который считается достаточно долго (1 мин и более). Он начинает работать по нажатии на кнопку "Старт". После завершения вычислений, выводим результат куда-нить на форму.
А вопрос такой, уважаемые программисты. Каким образом можно сделать так, чтобы во время работы алгоритма можно было таскать форму по экрану, сворачивать и разворачивать ее? А то после запуска с приложением ничего сделать невозможно, приходится ждать.
Заранее премного благодарен.
Цитата:
Originally posted by Silver Knight
Привет всем!!
У меня есть один вопрос, который не дает мне покоя.
Попробую описать задачу. Есть математический алгоритм, который считается достаточно долго (1 мин и более). Он начинает работать по нажатии на кнопку "Старт". После завершения вычислений, выводим результат куда-нить на форму.
А вопрос такой, уважаемые программисты. Каким образом можно сделать так, чтобы во время работы алгоритма можно было таскать форму по экрану, сворачивать и разворачивать ее? А то после запуска с приложением ничего сделать невозможно, приходится ждать.
Заранее премного благодарен.
Привет всем!!
У меня есть один вопрос, который не дает мне покоя.
Попробую описать задачу. Есть математический алгоритм, который считается достаточно долго (1 мин и более). Он начинает работать по нажатии на кнопку "Старт". После завершения вычислений, выводим результат куда-нить на форму.
А вопрос такой, уважаемые программисты. Каким образом можно сделать так, чтобы во время работы алгоритма можно было таскать форму по экрану, сворачивать и разворачивать ее? А то после запуска с приложением ничего сделать невозможно, приходится ждать.
Заранее премного благодарен.
Вынести задачу в отдельный поток.
Цитата:
Originally posted by Absolut
Вынести задачу в отдельный поток.
Вынести задачу в отдельный поток.
в поток будет хорошо, но можно:
Код:
Application->ProcessMessages();
Если я правильно понял, достаточно поместить в тело цикла подобную строчку
Код:
Application->ProcessMessages();
Цитата:
Originally posted by Silver Knight
Спасибо, все получилось!
Если я правильно понял, достаточно поместить в тело цикла подобную строчку
Спасибо, все получилось!
Если я правильно понял, достаточно поместить в тело цикла подобную строчку
Код:
Application->ProcessMessages();
да ты правильно понял, только это не лучший выход для длительных математических вычислений, лучше в поток.