再现等待,关于保存得奇怪问题(100分)

  • 主题发起人 主题发起人 xue_fg
  • 开始时间 开始时间
X

xue_fg

Unregistered / Unconfirmed
GUEST, unregistred user!
在做序列化保存的过程中,遇到了以下问题:
当打开保存过的文件,在保存一遍的时候,文件会变大(里面的内容重复保存)
代码如下:
保存过程
if m_pSheet<>nil then
begin
pTempWin:= TPageControl(m_pSheet.PageControl);
m_pSheet.PageControl:=nil;
Writer.WriteBoolean(true);
Writer.WriteComponent(TTabSheet(m_pSheet));

m_pSheet.PageControl:=TPageControl(pTempWin);
end
else
Writer.WriteBoolean(false);

if m_pShadow<>nil then //存储TScrollBox
begin
pTempWin:= TTabSheet(m_pShadow.Parent);
m_pShadow.Parent:=nil;

Writer.WriteBoolean(true);
Writer.WriteComponent(TScrollBox(m_pShadow));

m_pShadow.Parent:=TTabSheet(pTempWin);
end
else
Writer.WriteBoolean(false);
打开过程:
if Reader.ReadBoolean=true then
begin
if m_pSheet<>nil then
m_pSheet.Free;
pTempCmp:=Reader.ReadComponent(nil);
m_pSheet:=TTabSheet(pTempCmp);
end;

if Reader.ReadBoolean=true then
begin
pTempCmp:=Reader.ReadComponent(nil);
m_pShadow:=TScrollBox(pTempCmp);
m_pShadow.Parent:=m_pSheet;
end;
请看保存后的文件:
第一次保存的文件:
 TPF0 THWReport HWReportViewd TTabSheet Caption ?h?
TScrollBox Left Top WidthlHeightvAlignalClientColorclAppWorkSpace ParentColor
打开第一次保存的文件,然后在保存的文件是:
 TPF0 THWReport HWReportViewd TTabSheet Caption ?h?
TScrollBox Left Top WidthlHeight?AlignalClientColorclAppWorkSpace ParentColorTabOrder
TScrollBox Left Top WidthlHeightvAlignalClientColorclAppWorkSpace ParentColor

大家可以看到 TScrollBox 保存了两次,请问为什么?
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
486
import
I
S
回复
0
查看
926
SUNSTONE的Delphi笔记
S
后退
顶部