Зарегистрироваться
Восстановить пароль
FAQ по входу

Пономарёв Иван. Сериализация объектов стандартными средствами Delphi

  • Файл формата zip
  • размером 49,38 КБ
  • содержит документ формата doc
  • Добавлен пользователем , дата добавления неизвестна
  • Описание отредактировано
Пономарёв Иван. Сериализация объектов стандартными средствами Delphi
При создании многих приложений в Delphi возникает задача разработки системы сохранения в файл документа или проекта, с которым работает программа. Довольно часто при этом разработчики выбирают непростой путь создания собственных форматов, что, хотя иногда и бывает оправдано, но чаще приводит к возникновению больших и порою критических для проекта трудностей.
Есть две вещи, которые требуются от хорошего механизма сохранения, и которые непросто реализовать самому. Во-первых, нужно, чтобы процедуры записи и чтения информации были достаточно независимыми от реализации самого приложения. Если это не так, то любое изменение в логике программы, требующее новой структуры сохраняемого файла, должно сопровождаться синхронными изменениями в процедурах записи и чтения. Это рано или поздно приведёт к тому, что поддерживать такой проект станет слишком сложно. Во-вторых, в формате записываемого файла должна быть заложена совместимость «снизу вверх», чтобы пользователь обновлённой версии программы мог без проблем открывать файлы, созданные в старой версии, а от программиста для достижения такой возможности требовалось бы минимум усилий.
К счастью, универсальное решение указанных выше проблем даёт стандартная библиотека Delphi. Реализованный в Delphi механизм сериализации (сериализация – это автоматическая выгрузка в файл, BLOB-поле таблицы или другой поток находящейся в памяти системы взаимосвязанных объектов) достаточно развит, соответствует приведённым выше требованиям и предоставляет много вариантов быстрого создания сколь угодно сложных сохраняемых систем.
К сожалению, среди работ, которые можно видеть в книжных магазинах и российском Интернете, не попадаются исследования, специально посвящённые использованию этого механизма. Среди того, что можно найти в Интернете – ряд статей Андрея Чудина, включая опубликованную на сайте «Королевство Delphi» (www.delphikingdom.com) статью «XML-сериализация объекта Delphi», в которой автор описывает собственное решение задачи и предлагает воспользоваться созданным им компонентом. Однако в своих статьях Андрей Чудин не исследует до конца стандартный механизм сериализации.
Цель настоящей статьи – полностью разобрать механизм сериализации объектов стандартными средствами Delphi. Статья написана на основе практического опыта создания приложений, использующих сериализацию для сохранения в файл своих документов, и содержит освещение предметов, нужных для написания этих программ. Надеюсь, что по прочтении этой статьи вы сможете с лёгкостью создавать сохраняемые системы, решающие ваши задачи.
  • Чтобы скачать этот файл зарегистрируйтесь и/или войдите на сайт используя форму сверху.
  • Регистрация