我在delphi中有VCL应用程序。一种主要形式和许多子形式。如何确保一次只打开一个表单。换句话说,如果打开一个表单,它将关闭以前的表单。或者,如果用户尝试打开与以前相同的表单,它将什么也不做。在我的主表单中打开表单的代码:
procedure TFMainForm.OpenForm(const classname: string);
var
c: TPersistentClass;
f: TForm;
begin
c := GetClass(classname);
if c <> nil then
begin
f := TForm(TControlClass(c).Create(nil));
f.Parent := Self;
f.Show;
end;
end;
子窗体在关闭事件时自我释放。