【发布时间】:2010-05-25 11:54:26
【问题描述】:
我需要将多个对象(其中大部分是TObject/非持久性)存储到TMemoryStream,将流保存到磁盘并重新加载。对象需要一个接一个地流式传输。某种通用容器。
目前我将对象的所有属性/字段/变量放入记录中并将记录保存到流中。但我打算使用函数文件WriteInterger、WriteString(见下文)、WriteBoolean 等函数来保存/加载流中的数据。
StreamReadString(CONST MemStream: TMemoryStream): string;
StreamWriteString(CONST MemStream: TMemoryStream; s: string);
但是,我似乎需要重写很多代码。许多示例之一是TStringList.LoadFromStream,它不起作用,因此需要重写。这是因为TStringList 需要是流中的最后一个对象(它从当前位置读取到流的末尾)。
有人知道提供这种基本功能的库吗?
我使用的是 Delphi 7,所以 RTTI 不是很好。
【问题讨论】: