Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 2 965

Раздел: Delphi » Прочее
/ вопрос открыт /

Здравствуйте!
Иногда приложения могут неожиданно закрываться, прежде чем пользователь успевает сохранить внесенные изменения, с которым он работает. Это может произойти по причине исчезновение напряжения в сети, сбой системы, вызванный работой других программ и т.д. Невозможно полностью исключить возможность таких происшествий. Должна быть возможность предпринять определенные действия для сохранения сделанной работы при аварийном завершении приложения, или сбое системы.
Как можно реализовать данную задачу?

IFmAlex Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: IFmAlex (статус: Посетитель)
Вопрос отправлен: 2 июля 2009, 11:48
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 12; последнее сообщение — 3 июля 2009, 11:31; участников в обсуждении: 4.
Вадим К

Вадим К (статус: Академик), 2 июля 2009, 11:51 [#1]:

Если свет выключили, то никак без бесперебойника не спастись.
Галочка "подтверждения прочтения" - вселенское зло.
IFmAlex

IFmAlex (статус: Посетитель), 2 июля 2009, 11:53 [#2]:

Потеря напряжения это один из вариантов ситуации, при которой возможна потеря данных.
Пупкин В В

Пупкин В В (статус: 2-ой класс), 2 июля 2009, 12:08 [#3]:

свет - бесперебойник
предоставлять возможность пользователю выберать интервал автосохранения данных
и при закрытии приложения сохранять (OnCloseQuery) и напоминать пользователю если он инициирует закрытие.
Вадим К

Вадим К (статус: Академик), 2 июля 2009, 12:09 [#4]:

Я знаю только один надежный способ - сохраняться время от времени. В таком случае можно минимизировать потери.

Программа не может обработать сообщение "пропало питания", если нет источника бесперебойного питания.
Галочка "подтверждения прочтения" - вселенское зло.
IFmAlex

IFmAlex (статус: Посетитель), 2 июля 2009, 12:11 [#5]:

Я имел ввиду, автоматическое сохранение внесенных изменений, к примеру каждые 5 минут. К примеру 2, так как это сделано в MS Office.
Вадим К

Вадим К (статус: Академик), 2 июля 2009, 12:23 [#6]:

то есть весь вопрос в том как сделать сохранение?
Галочка "подтверждения прочтения" - вселенское зло.
IFmAlex

IFmAlex (статус: Посетитель), 2 июля 2009, 12:27 [#7]:

атоматическое.Пользователь работает себе спокойно, внес кучу изменений в какой-либо справочник. Но забыл нажать кнопку "Сохранить", затем сбой в системе, программы вылетела, он ее открывает вновь, а там ему подарок: окно с сообщением: "работа приложения была завершена не корректно, хотите восстановить данные". Так вопрос в том, как это сделать, чтобы программа атоматически сохраняла данные, а в случае чего, была возможность их восстановить.
Вадим К

Вадим К (статус: Академик), 2 июля 2009, 12:46 [#8]:

А в чем проблема? сохраняйтесь после каждого важного действия (что бы не сохранить частичные данные). При нормальном завершении работы программы удаляйте временные файлы. А вот при старте, надо проверять, а нет ли временных файлов. Если есть - восстанавливаться с них.
А вот как именно делать востановление - это уже детали реализации. А она мне не известна. Но я вижу слово "Справочник". Телепатия подсказывает мне, что это базы данных.
В таких случаях обычно делают специализированные добавления, а не "набросал компонентов, соединил мышкой - о работает".
Галочка "подтверждения прочтения" - вселенское зло.
IFmAlex

IFmAlex (статус: Посетитель), 2 июля 2009, 13:14 [#9]:

Проблема банальна до нельзя.
В принципе и логинча. Сам никогда этим не занимался, собственно поэтому испросил.
Вадим К

Вадим К (статус: Академик), 2 июля 2009, 13:19 [#10]:

Тогда я всё рассказал. Всё остальное - детали реализации - как хранить, где хранить.
Галочка "подтверждения прочтения" - вселенское зло.
Косолапов Дмитрий Юрьевич

Косолапов Дмитрий Юрьевич (статус: 8-ой класс), 3 июля 2009, 09:52 [#11]:

"к примеру каждые 5 минут"
Таймер.
Вадим К

Вадим К (статус: Академик), 3 июля 2009, 11:31 [#12]:

Использовать таймер в некоторых случаях может быть плачевно. Причина - не целосность данных.
Галочка "подтверждения прочтения" - вселенское зло.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:38
Выполнено за 0.02 сек.