我再我的TListBox里加了一个保存流的过程SaveStream,如下:
procedure TListBox.SaveStream(Stream: TStream);
var
i,Size,C: integer;
begin
C:=items.Count;
Stream.WriteBuffer(C, 4); //先保存items的个数
for i:=0 to C-1 do
begin
//保存节点名称
Size:=Length(items.Strings);
Stream.WriteBuffer(Size, 4);
Stream.WriteBuffer(Pointer(items.Strings)^,Size);
//保存节点对象
Size:= Sizeof(items.Objects); //问题在这儿,
//不知道Objects是何物,有多大,Objects本身又没提供保存方法
//如何从TPersistent以下继承????
//加50分,愿闻其祥,Please GoOn!
Stream.WriteBuffer(Size, 4);
Stream.WriteBuffer(Pointer(items.Objects)^,Size);
end;
end;