16,748
社区成员
发帖
与我相关
我的任务
分享
s:=TFileStream.Create('D:\A.txt',fmOpenWrite);
Writ:=TWriter.Create(S,SizeOf(My.InstanceSize));
Writ.Root:=Self;
Writ.WriteSignature;
// Writ.WriteComponent(btn1);
Writ.WriteListEnd;
Writ.Free;
s.Free;
var
Reader:TReader;
s:TFileStream;
tv:TButton;
begin
s:=TFileStream.Create('D:\A.txt',fmOpenRead);
S.Position:=0;
Reader:=TReader.Create(S,4096);
tv:=TButton.Create(Self);
tv.Parent:=Self;
tv:=TButton(Reader.ReadComponent(nil));
procedure TForm1.Button1Click(Sender: TObject);
var
aBtn: TButton;
begin
aBtn := TButton.Create(Self);
aBtn.Parent := Self;
aBtn.Caption := 'Test';
aBtn.Left := 10;
ms.WriteComponent(aBtn);
end;
procedure TForm1.Button2Click(Sender: TObject);
var
abtn: TButton;
begin
try
Classes.FindClass('TButton')
except
Classes.RegisterClass(TButton);
end;
abtn := TButton(ms.ReadComponent(nil));
aBtn.Parent := Self;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
ms := TMemoryStream.Create;
if FileExists('btn.data') then
ms.LoadFromFile('btn.data');
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
ms.SaveToFile('btn.data');
FreeAndNil(ms);
end;