Форум программистов, компьютерный форум CyberForum.ru

Реакция на возвращаемое значение - C++

Восстановить пароль Регистрация
 
Валерий_
0 / 0 / 0
Регистрация: 28.10.2014
Сообщений: 41
Завершенные тесты: 1
24.10.2015, 14:32     Реакция на возвращаемое значение #1
Здравствуйте,

Есть программа которая выполняеться и после всех действий удаляет себя.
Но появилась проблема, если закрыть программу до
выполнения всех её функций она остаёться.
Вопрос: как заставить программу реагировать на код
завершения отличный от 0(завершена корректно)?

Заранее Спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.10.2015, 14:32     Реакция на возвращаемое значение
Посмотрите здесь:

C++ Возвращаемое значение (класс)
Возвращаемое значение функции C++
возвращаемое значение cos() C++
Возвращаемое значение C++
Возвращаемое ссылочное значение C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4303 / 3724 / 1255
Регистрация: 14.04.2014
Сообщений: 14,579
24.10.2015, 16:00     Реакция на возвращаемое значение #2
Программа сама свой код формирует через return. Или что ты имеешь в виду? Какая ОС?
Валерий_
0 / 0 / 0
Регистрация: 28.10.2014
Сообщений: 41
Завершенные тесты: 1
24.10.2015, 22:47  [ТС]     Реакция на возвращаемое значение #3
ОС Win10
Да, кажеться, я имею в виду return.
Подскажете способ из личной практики?
nmcf
4303 / 3724 / 1255
Регистрация: 14.04.2014
Сообщений: 14,579
24.10.2015, 22:49     Реакция на возвращаемое значение #4
Ну если это windows-приложение, то оно получает сообщение при закрытии, когда на кнопку закрытия нажимаешь.
Валерий_
0 / 0 / 0
Регистрация: 28.10.2014
Сообщений: 41
Завершенные тесты: 1
24.10.2015, 23:00  [ТС]     Реакция на возвращаемое значение #5
И как на С++ словить нажатие кнопки выхода, подскажите, если не сложно.
nmcf
4303 / 3724 / 1255
Регистрация: 14.04.2014
Сообщений: 14,579
24.10.2015, 23:07     Реакция на возвращаемое значение #6
У тебя графическое приложение или консольное?
Валерий_
0 / 0 / 0
Регистрация: 28.10.2014
Сообщений: 41
Завершенные тесты: 1
24.10.2015, 23:12  [ТС]     Реакция на возвращаемое значение #7
Консольное
nmcf
4303 / 3724 / 1255
Регистрация: 14.04.2014
Сообщений: 14,579
24.10.2015, 23:18     Реакция на возвращаемое значение #8
Тогда, наверное, никак. Делай оконное.
Убежденный
Системный программист
 Аватар для Убежденный
14200 / 6215 / 986
Регистрация: 02.05.2013
Сообщений: 10,356
Завершенные тесты: 1
25.10.2015, 10:27     Реакция на возвращаемое значение #9
"Крестик" в консольном приложении ловится через
установку своего обработчика, см. функцию SetConsoleCtrlHandler.
nmcf
4303 / 3724 / 1255
Регистрация: 14.04.2014
Сообщений: 14,579
25.10.2015, 10:54     Реакция на возвращаемое значение #10
Убежденный, а как её согласовать с работой консольного приложения?
Убежденный
Системный программист
 Аватар для Убежденный
14200 / 6215 / 986
Регистрация: 02.05.2013
Сообщений: 10,356
Завершенные тесты: 1
25.10.2015, 11:17     Реакция на возвращаемое значение #11
Поясни, что имеется в виду.
nmcf
4303 / 3724 / 1255
Регистрация: 14.04.2014
Сообщений: 14,579
25.10.2015, 11:38     Реакция на возвращаемое значение #12
Ну приложение работает, что-то выполняет, и тут нажали кнопку - как основной алгоритм должен об этом узнать и корректно завершиться прежде, чем ОС его завершит принудительно?
Убежденный
Системный программист
 Аватар для Убежденный
14200 / 6215 / 986
Регистрация: 02.05.2013
Сообщений: 10,356
Завершенные тесты: 1
25.10.2015, 11:45     Реакция на возвращаемое значение #13
Надо из обработчика подать какой-то сигнал (например, event) в нужный поток,
что приложение закрывается. На выполнение всех очистительных работ у
приложения будет примерно 5 секунд, потом его прибъет система.
nmcf
4303 / 3724 / 1255
Регистрация: 14.04.2014
Сообщений: 14,579
25.10.2015, 12:17     Реакция на возвращаемое значение #14
5 секунд - это к выключению и завершению сеанса относится? А если нажато Ctrl-C, например, и Handler возвратит true, приложение останется работать, если само не завершится?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.10.2015, 13:55     Реакция на возвращаемое значение
Еще ссылки по теме:

C++ Возвращаемое значение делигата
C++ Значение, возвращаемое функцией (C++)
C++ Классы. Возвращаемое значение

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

Или воспользуйтесь поиском по форуму:
Убежденный
Системный программист
 Аватар для Убежденный
14200 / 6215 / 986
Регистрация: 02.05.2013
Сообщений: 10,356
Завершенные тесты: 1
25.10.2015, 13:55     Реакция на возвращаемое значение #15
Поведение программы и реакция системы на возврат TRUE/FALSE из хэндлера
немного различаются на разных версиях Windows, сейчас точно уже не скажу.
Но возврат из хэндлера можно задержать. Например, что-то типа такого:
C++
1
2
3
4
5
6
7
8
9
BOOL _stdcall ConsoleHandler(DWORD Code)
{
    // ...
 
    SetEvent(g_hBeginQuit); // Сообщаем, что приложение завершается.
    WaitForSingleEvent(g_hEndQuit, INFINITE); // Ждем, пока операция
        // не будет обработана.
    return TRUE; // или FALSE, в зависимости от условий; суть от этого не меняется.
}
Yandex
Объявления
25.10.2015, 13:55     Реакция на возвращаемое значение
Ответ Создать тему
Опции темы

Текущее время: 02:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru