假设你的编辑器基于TMemo的,那么在动态创建新的文档编辑窗口时必然会有类似如下的语句:
var
NewEditor:TMemo;
...
NewEditor:=TMemo.Create(Self);
...
那么OK,现在为了统一管理程序中所有可能出现的Memo,你可以定义一个动态的TMemo数组,并在每次创建新的文档编辑窗口时将新建的Memo纳入这个TMemo 数组中:
var
NewEditor:TMemo;
AllEditor:array of TMemo;
c:integer;
...
NewEditor:=TMemo.Create(Self);
c:=Length(AllEditor);
SetLength(AllEditor,c+1);
AllEditor[c]:=NewEditor;
...
这样,由于AllEditor中维护了整个程序中所有编辑器的一个序列,所以你可以很容易地通这个数组访问到程序中任意一个曾经存在过的编辑器,当然也包括它们是否修改过的状态信息了。