logo
logo
Немного истории и чуть-чуть пояснений. [Dervish 02/08/2018 21:44]
Принципиальная разница между AbilityCash 2-й версии (например, 2.1.235) и 3-й версией (например, 3.0.267) состоит в формате файла данных. Вообще, в истории AbilityCash было всего три варианта версии файла и смена формата приводила к добавлению единички к "старшему" номеру версии.
 
Версия 2 для хранения данных использует файлы COM Structured Storage от Microsoft. Это двоичный формат файлов, который используется повсеместно в MS Office (например, doc и xls но не в docx и xlsx). Собственно, этот формат был выбран как раз потому, что была надежда в его устойчивости ввиду широкой распространенности MS Office. Однако, опыт использования показал, что это не так. Точнее, все работает нормально до тех пор пока в момент записи не вырубается питание или не возникает какой-нибудь крах системы. И тогда начинаются проблемы.
 
Видимо, та же ерунда обстоит и с офисными файлами, просто люди меньше заморачиваются вопросами их восстановления. Да и пожаловаться и написать "в форум Microsoft" об испорченном файле не принято.
 
В общем, нахлебавшись проблем с форматом 2-й версии я решил перебраться на что-нибудь более надежное. И выбор пал на SQLite, разработчики которого предприняли специальные усилия по сохранению целостности файла в случае крахов. И, в общем, опыт эксплуатации показывает, что SQLite работает надежнее. И испорченные файлы версии 3 попадаются гораздо реже. Точнее, в нем тоже иногда возникают ошибки, но это ошибки, связанные с логикой работы программы и они не критичны потому что можно открыть файл редактором и просто поправить их. Самое главное, я не могу вспомнить ситуации, когда файл вообще не читается ввиду поломки его структуры.
 
И еще одно: на файл данных и 2-й и 3-й версии может быть поставлен пароль доступа.  Но пароль 2-й версии можно довольно просто снять (ну, я могу, по крайней мере), а вот в 3-й версии забытый пароль означает пропажу всех данных потому что пароль используется для реального шифрования информации и вскрыть его невозможно. Ну, по крайней мере, я за это не возьмусь.
 
И все-таки я очень рекомендую включить резервное копирование. Ведь простейшие средства резервного копирования встроены в саму программу. И они позволят избежать проблемных ситуаций во многих случаях. Нужно просто включить.