先判断是否已经创建。
ar
  i:integer;
  b:boolean;
begin
  b:=true;
  for i:=mdiChildCount-1 downto 0 do
    if MDIChildren[i].Name='form1' then
    begin
       form1.Show;
       b:=false;
       break;
    end;
  if b then
  begin
    form1:=TForm.Create(nil);
    form1.Show;
  end;
end;
比较复杂!!:)