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



 Адрес файла - тот же.
  Адрес файла - тот же.
 Приделал специальный "пустой" дестрактор.
 Приделал специальный "пустой" дестрактор.
 Вот.
 Вот.  
 Адрес файла - тот же.
  Адрес файла - тот же. 
 
 И запустилась!
 И запустилась!   
