一系列自定义记录类型插入到TList中,怎么把它序列化或保存?
代码如下:  OLst : TList;  TObj= record
    ObjId   : string;
    CenterX : integer;
    CenterY : integer;
    TypeNo  : integer;
    Selected : boolean;
    FNode    : string;
    showed  : boolean;
  end;procedure TFrm_Tree.AddObj(id: string; x, y, typeno: integer;
  selected: boolean; Fnode: string);
var
  Obj: ^TObj;
begin
  new(obj);
  obj.ObjId:=id;
  obj.CenterX:=x;
  obj.centery:=y;
  obj.TypeNo:=typeno;
  obj.Selected:=selected;
  obj.FNode:=fnode;
  obj.showed:=true;
  OLst.Add(obj);
end;然后我要保存list该怎么办呢?

解决方案 »

  1.   

    试试:var MyMemoryStream:TMemoryStream ;
        i:integer ;
    begin
       if SaveDialog1.Execute then
       begin
          MyMemoryStream := TMemoryStream.Create ;
          for i := 0 to OLst.Count - 1 do
             MyMemoryStream.WriteBuffer(TObj(OLst.Items[i]), SizeOf(TObj));      MyMemoryStream.Position := 0 ;      MyMemoryStream.SaveToFile(SaveDialog1.FileName);      MyMemoryStream.Free ;
       end ;
    end;