Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
6 / 7 / 0
Регистрация: 13.10.2010
Сообщений: 159
1

Как отменить начатое выполнение программы

13.01.2011, 20:47. Просмотров 986. Ответов 4
Метки нет (Все метки)


Друзья,

Я написал программу, которая выполняется в течение 1-2 минут (там идет полоса загрузки и все такое), если пользователь решит отменить выполнение программы по нажатию кнопки "отмена", какой код нужно прописать в обработчик щелчка?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.01.2011, 20:47
Ответы с готовыми решениями:

Как отменить начатое выполнение программы
Друзья, Я написал программу, которая выполняется в течение 1-2 минут (там идет полоса загрузки и...

Как отменить выполнение скрипта в определенном месте?
Здравствуйте, делая сайт я столкнулся с проблемой. Для якорей я использовал ...

Как отменить выполнение функции? Отмена закрытия формы.
У меня возникла проблема, которую не получается нагуглить. Когда пользователь нажимает крестик на...

Как отменить выполнение кода в сервисе, который запущен в отдельном потоке?
Здравствуйте! Есть код класса, наследующего Service public int onStartCommand(Intent intent, int...

__________________
Помогаю в написании студенческих работ здесь.
Записывайтесь на профессиональные курсы C++ разработчиков
4
1258 / 796 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
13.01.2011, 21:18 2
Например можно закрыть приложение.
Закрыть приложение по нажатию на кнопку

Ваш вопрос звучит как то абстрактно .
0
6 / 7 / 0
Регистрация: 13.10.2010
Сообщений: 159
13.01.2011, 21:31  [ТС] 3
Цитата Сообщение от Genius Ignat Посмотреть сообщение
Например можно закрыть приложение.
Закрыть приложение по нажатию на кнопку

Ваш вопрос звучит как то абстрактно .
В общем суть приложения:

Вы нажимаете кнопку "расчет" на основном окне, окно скрывается, открывается другое окно, где идет полоса загрузки (в этот момент программа производит математический расчет и результаты выводит в Word). Так вот, если пользователь во время выполнения расчета решит скорректировать исходные данные, то для этого ему нужно будет прервать выполнение расчета и вернуться на главное окно, где вводятся исходные данные.

Т.е. при нажатии кнопки "Отмена" в том окне, где идет полоса загрузки, математический расчет отменяется и пользователь возвращается на главное окно программы.
0
1258 / 796 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
13.01.2011, 22:03 4
могу только с уверенностью сказать,
что данная программа должная использовать несколько потоков(как минимум 2).

Про многопоточное программирования на C++ можно найти в сети.
1
266 / 188 / 33
Регистрация: 15.01.2011
Сообщений: 681
15.01.2011, 17:42 5
Programmer_С++
Создай в программе поток в котором будеш производить все свои основные действия
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
...
// создаем новый поток 
    HANDLE hThread = CreateThread(NULL, 0, SecondThread,
        (PVOID) &x, 0, &dwThreadId);
 
...
 
DWORD WINAPI SecondThread(PVOID pvParam)
{
    // здесь выполняется какая-то длительная обработка
    ...
    // pvParam этот параметр может указывать на что угодно, что может пригодиться в работе проги
     return(0);
}
....
а вглавном потоке обрабатывай сообщения от контролов как обычно.

по мотивам : Джеффри РИХТЕР
"Создание эффективных WIN32-приложений
с учётом специфики 64-разрядной версии Windows"
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.01.2011, 17:42

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Отменить выполнение метода по таймауту
Умею отменять методы по таймауту. К примеру, есть метод LongRunningMethod. Его выполнение нужно...

Как в Visual Studio отменить действие не для конкретной страницы, а для всей программы?
Как в visual studio отменить действие не для конкретной страницы, а для всей программы?

Как прервать выполнение программы?
Здравствуйте. Необходимо прервать выполнение программы, но чтобы при этом форма не закрылась. У...

Как оставить выполнение программы
В данном примере описывается как добавить в автозагрузку nginx? По аналогии добавляем и другие...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.