例如:
TMyClass = class
private
a: int;
list: TList;
public
b: string;
procedure Add(p: pointer);
constructor Create;
end
...var
obj: TMyClass;
begin
obj := TMyClass.Create;
end;如何将对象obj的内存块保存到二进制文件中?
TMyClass = class
private
a: int;
list: TList;
public
b: string;
procedure Add(p: pointer);
constructor Create;
end
...var
obj: TMyClass;
begin
obj := TMyClass.Create;
end;如何将对象obj的内存块保存到二进制文件中?
begin
WriteComponentResFile('C:\TForm1.RES', Form1);
end;
procedure TForm1.Button2Click(Sender: TObject);
var
vForm: TForm1;
begin
vForm:= TForm1.CreateNew(Application);
ReadComponentResFile('C:\TForm1.RES', vForm);
end;
所以
TMyClass = class(TComponent)
obj: TMyClass;
mem: TMemoryStream;
begin
mem := TMemoryStream.Create;
obj := TMyClass.Create; mem.write((Pointer)obj, SizeOf(TMyClass));
mem.savetoFile('a.data');
mem.free;
obj.free;
end;