DockManager LoadFromStream无法正常工作

时间:2010-11-08 14:04:37

标签: delphi layout docking

我正在创建5个表单,并在运行时使用类似

之类的东西将它们对接到名为DockTarget的面板
procedure TManager.InitChild;
begin
    Child := TChildWindow.Create(Self);
    Child.ManualDock(DockTarget);
end;

创建并停靠所有五个孩子后,我正在呼叫

Settings.DockSettings.Seek(0,soBeginning);
DockTarget.DockManager.LoadFromStream(Settings.DockSettings);

但它似乎没有做任何事情,所有的孩子都停靠,无论我在关闭表单之前对布局做了什么,它打开时都与LoadFromStream不存在完全相同。

Settings.DockSettings是在先前创建设置时从文件加载的TMemoryStream。

和onFormClose我有

DockTarget.DockManager.SaveToStream(Settings.DockSettings);
Settings.Save;

任何想法都是为什么布局没有恢复?或者我可以用来保存/加载停靠布局?

1 个答案:

答案 0 :(得分:1)

只需要在保存之前清除内存流,否则我最终会得到2组Docking数据,其中只有第一个加载了。