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