Мне нужно сохранить несколько объектов (большинство из них TObject
/ не являются постоянными) в TMemoryStream
, сохранить поток на диск и загрузить его обратно. Объекты должны быть потоковыми один за другим. Какой-то универсальный контейнер.
В данный момент я помещаю все свойства / поля / переменные объекта в запись и сохраняю запись в поток. Но я намерен использовать функции file WriteInterger
, WriteString
(см. Ниже), WriteBoolean
и др. Для сохранения / загрузки данных из потока.
StreamReadString(CONST MemStream: TMemoryStream): string;
StreamWriteString(CONST MemStream: TMemoryStream; s: string);
Однако, похоже, мне нужно переписать много кода. Одним из многих примеров является TStringList.LoadFromStream
, который не будет работать, поэтому его необходимо переписать. Это потому, что TStringList
должен быть последним объектом в потоке (он читает с текущей позиции до конца потока).
Кто-нибудь знает библиотеку, которая обеспечивает базовые функции, подобные этой?
Я использую Delphi 7, поэтому RTTI не так уж и хорош.