-
использую RX TFormStorage Component и записываю в текстовом виде в той же папке , где находится сама програмка.
Сохранение происходит перед уничтожением формы. Но при авар. ситуации , н-р при зависании программы , по какой либо причине , т.е при некоректном выходе введенные параметры теряются . Как можно произвести запись в мой файл не только перед уничтожением формы, но и при изменении данных ?
-
Честное слово, самый лучший вариант - это чтобы не было зависаний.
Серьезно. Потому что программа, которая виснет все равно никому не нужна. Хоть помнит она там что-то, хоть нет.
Так что - начните с анализа и устранения причин зависаний. После этого вопрос отпадет сам собой.
-
насчет зависании было сказано не совсем верно , просто заказчик имеет желание сохранения параметров даже при некоректном выходе из программы , например путем простого выключения компьютера без предварительного выхода из программы.....
-
> aha (15.04.08 00:11) [2]
>
> просто заказчик
> имеет желание сохранения параметров даже при некоректном
> выходе из программы , например путем простого выключения
> компьютера без предварительного выхода из программы.....
>
>
Такая функциональность программы дорого стоит. Именно это и нужно дать понять заказчику.
-
> aha (15.04.08 00:11) [2]
Тогда ловите WM_QUERYENDSESSION или WM_ENDSESSION. При нормальном выключении компа все поймается, ну а если заказчик привык выключать его кнопкой питания - тогда туда ему и дорога.
-
> Германн (15.04.2008 00:40:03) [3]
Просто не надо все созранять при закрытии программы, сохранять кусками при закрытии формы, на старте и при выходе из программы, только глобальные характеристики.
-
> Anatoly Podgoretsky © (15.04.08 01:00) [5]
Именно это я и старался донести до автора сабжа. Поскольку RX TFormStorage Component позволяет сохранить практически всё! И если пытаться реализовать то же самое с защитой от выключения компа, то придется почти при каждом нажатии кнопки на клавиатуре/мышке записывать в файл изменения.
-
И при этом закрывать его, а не держать открытым весь сеанс.
-
Ужасно) Вот чесное слово, проще УПС(UPS) поставить)
Упс посылает сигнал о завершении работы винде.... винда - приложениям, приложения завершают свою работу корректно.
Нет, мы будем каждый чих сохранять..... но и тут нас может постигнуть горе....
:о)