С 2016 года та версия, что тут описана, заморожена. Следующая версия будет несовместима с ней и выйдет, ориентировочно, в 2019..2020.
Теперь и для дельфинов!
Меня всегда страшно доставал тот факт, что при добавлении любой новой структуры данных приходится убивать уйму времени на нудный, совершенно нетворческий процесс создания для этой структуры механизма сохранения/загрузки. А от стандартных published свойств толку - как от козла молока. В основном из-за того, что нет механизма, проверявшего бы не упустил ли ты чего и не перепутал ли - после каждого изменения всё опять приходится тестировать на работоспособность.
В конце концов лень подвигла-таки меня на на создание системы сохранения сложных структур данных, обладающей полной обратной совместимостью, максимально упрощённым механизмом модификации (каждый перзистентный класс должен, в специальном виртуальном методе, перечислить все свои поля) и злым, как цепная сволочь, валидатором, который не пропустит ни одного перла моей рассеянности.
Сразу должен предупредить: штука вряд ли портируемая за пределы intel-32
Веб-страница проекта, где лежит архив, включающий все нужные исходники и готовый демо-пример.
20 сентября 2006: портрована на Дельфи.
13 сентября 2006: разрешён конфликт с Лазарусом, блокировавший работу автозавершения кода и навигации по Ctrl-щелчку. Нужен Лазарус не ниже 0.9.16 (более старые давятся calling conventions при процедурных типах).