Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как правильно работать с 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]

то данные не сохраняются.

Это не данные не сохраняются, а обработчик не вызывается.


Наверх

Титульная страница Поиск, карта сайта Написать письмо