Russian Qt Forum

Qt => Вопросы новичков => Тема начата: once_again_abc от Ноябрь 09, 2011, 08:46



Название: Обработка завершения приложения
Отправлено: once_again_abc от Ноябрь 09, 2011, 08:46
Есть ли в кьюте надежный и удобный механизм перехвата и обработки завершения приложения, например в результате краха или если пользователь нажимает крестик "Close" в правом верхнем углу главного окна и т.д.?


Название: Re: Обработка завершения приложения
Отправлено: GreatSnake от Ноябрь 09, 2011, 09:56
Есть ли в кьюте надежный и удобный механизм перехвата и обработки завершения приложения, например в результате краха
"Надёжность" и "крах" вещи по определению не совместимые.

Цитировать
или если пользователь нажимает крестик "Close" в правом верхнем углу главного окна и т.д.?
Код
C++ (Qt)
void QApplication::lastWindowClosed () [signal]


Название: Re: Обработка завершения приложения
Отправлено: Blackwanderer от Ноябрь 09, 2011, 10:01
Для обработки крестика есть сигнал QApplication::lastWindowClosed()
По поводу краха - тут все зависит от того, что за крах. На какие-то случаи есть соответствующие сигналы соответствующих классов Qt, на остальные - механизм исключений C++.


Название: Re: Обработка завершения приложения
Отправлено: GreatSnake от Ноябрь 09, 2011, 10:21
По поводу краха - тут все зависит от того, что за крах. На какие-то случаи есть соответствующие сигналы соответствующих классов Qt, на остальные - механизм исключений C++.
Ну-ка ну-ка проясни - какие для этого есть "соответствующие сигналы" и чем тебе они и исключения C++ помогут, например, когда у тебя напрочь будет побит стэк?


Название: Re: Обработка завершения приложения
Отправлено: once_again_abc от Ноябрь 09, 2011, 10:24
Есть ли в кьюте надежный и удобный механизм перехвата и обработки завершения приложения, например в результате краха
"Надёжность" и "крах" вещи по определению не совместимые.

надежный и удобный механизм перехвата ... краха

=)


Название: Re: Обработка завершения приложения
Отправлено: once_again_abc от Ноябрь 09, 2011, 10:25
По поводу краха - тут все зависит от того, что за крах. На какие-то случаи есть соответствующие сигналы соответствующих классов Qt, на остальные - механизм исключений C++.
Ну-ка ну-ка проясни - какие для этого есть "соответствующие сигналы" и чем тебе они и исключения C++ помогут, например, когда у тебя напрочь будет побит стэк?

мне не важно какой крах. мне важно остановить ядерную реакцию, чтобы не бабахнуло. хрен с ним с приложением и операционкой, но мне надо 100% гарантировано успеть перевести устройство в безопасный режим.


Название: Re: Обработка завершения приложения
Отправлено: GreatSnake от Ноябрь 09, 2011, 10:29
Этим я тебе пытался сказать, что надёжного и удобного и простого механизма перехвата не существует.
Единственный надёжный способ - это написать приложение-запускальщик, которое будет запускать основное приложение и следить за его завершением и делать соответствующие дела при падении основного приложения.


Название: Re: Обработка завершения приложения
Отправлено: once_again_abc от Ноябрь 09, 2011, 10:35
Этим я тебе пытался сказать, что надёжного и удобного и простого механизма перехвата не существует.
Единственный надёжный способ - это написать приложение-запускальщик, которое будет запускать основное приложение и следить за его завершением и делать соответствующие дела при падении основного приложения.

согласен.