Страницы

Поиск по вопросам

вторник, 23 апреля 2019 г.

Выполнить операцию при неожиданном завершении работы программы

Часто бывает такой случай, когда программа вылетает, не закончив корректно свою работу. И важно в таком случае сохранить все те изменения, которые не успел сохранить пользователь.
Объясню на своем примере. У меня создан простенький текстовый редактор с функцией автосохранения. Через определенный интервал времени сохраняется временный файл с измененным текстом, который без желания пользователя не был сохранен в главном файле. Временный файл скрыт и зашифрован, как обычно это делается. Когда программа успешно завершает работу, временный файл удаляется, а изменения сохраняются в главном файле, если пользователь захотел сохранить. Все сохраняет, все удаляет.
Теперь важно сделать так, чтобы при неожиданном завершении работы программы, или по другому при некорректном, временной файл стал видимым и незашифрованным для пользователя. Какие команды прописывать я знаю, не знаю как их правильно вызвать, в каком момент.
Можете что-нибудь подсказать по данному вопросу?


Ответ

Если программу убьют через диспетчер, выключат питание ПК или ещё какая то такая гадость произойдет - никакое событие вы вызвать не успеете.
Таким образом, логично будет при запуске программы проверять нет ли существующего зашифрованного файла, при его наличии - предлагать пользователю открыть содержимое файла на момент последнего неудачного закрытия программы.

Комментариев нет:

Отправить комментарий