![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как правильно работать с TClientDataSet? [D7, CDS]
DiX © (2007-09-10 22:44:00)Использую следующую функцию в обработчике оnClose главной формы
ClientDataSet.SaveToFile(FileName);
Проблема в том, что если приложение завершается аварийно (к примеру через диспетчер задач, или при выключении/перезагрузке компа), то данные не сохраняются. Как мне правильно сделать сохранение БД?
Desdechado (2007-09-11 10:08:00) [1]DiX © (10.09.07 22:44)
У тебя что, настолько нестабильная среда выполнения или дебильные пользователи?
Или проблема в том, что программа кривая и виснет? Так надо проблему решать, а не припарки делать.
Anatoly Podgoretsky (2007-09-11 08:34:00) [2]> DiX (11.09.2007 08:09:07) [7]
Попадешь на более серьезные и неприятные вещи.
Например нарушение целостности, блокирование отмены записи.
Обновлять надо только тогда когда запись готова и пользователь подтвердил, а при каждом обновление не нужен никакой TClientDataSet
DiX (2007-09-11 08:09:00) [3]Тогда наверно единственный выход, сохраняться при каждом изменении БД
Германн (2007-09-11 01:34:00) [4]
> Никак.
> DiX © (10.09.07 22:44)
Значит какой нужно сделать вывод?
Правильно, предохраняться надо, а не ждать "аварии"! :)
{RASkov} (2007-09-11 01:12:00) [5]> > приложение завершается аварийно
>
> Никак.
Нееее [4] не читать..... См [3]
:)
{RASkov} (2007-09-11 01:10:00) [6]> [2] DiX © (11.09.07 01:04)
В твоем случае:
> если приложение завершается аварийно (к примеру через диспетчер
> задач, или при выключении/перезагрузке компа
и
> ClientDataSet.SaveToFile(FileName);
"Никак".
Впрочем "перезагрузку" можно "поймать" и выполнить нужное действие,
....только не отмену перезагрузки или выключения, а то д.Толя ругаться будет :)
А диспетчер задач...... в принципе и тут есть шанс.... поймать, но там "сложнее". Т.е. если закрыли дерево процесов, то кирдык.... помоему.
Плохиш (2007-09-11 01:07:00) [7]
> приложение завершается аварийно
Никак.
DiX (2007-09-11 01:04:00) [8]Как сделать так, чтобы вызывался?
Reindeer Moss Eater (2007-09-10 22:49:00) [9]то данные не сохраняются.
Это не данные не сохраняются, а обработчик не вызывается.