var I: integer; begin for i := 0 to Application.ComponentCount - 1 do begin if (Application.Components[i] as TForm).Caption = application.MainForm.Caption then continue else (Application.Components[i] as TForm).Free; end; end;
如果MainFrm以外的窗体的名为Form 则: Form.Close;
一般说来,应该本着谁创建谁释放的原则,如果MainForm外的Form不是动态创建的,最好不去释放它,如必须手工释放,应该使用FreeAndNil(Form)或者Form.Free; Form := nil;否则程序退出时可能出错。
begin
for i := 0 to Application.ComponentCount - 1 do
begin
if (Application.Components[i] as TForm).Caption = application.MainForm.Caption then
continue
else
(Application.Components[i] as TForm).Free;
end;
end;
则:
Form.Close;