for i:=0 to screen.formcount-1 do
begin
  if screen.form[i].formname='name' then MDIform.show
  else applciation.createform(.....)
  exit;
end;

解决方案 »

  1.   

    对于第一个问题,DELPHI有Form的MDIChildCount属性以及MDIChildren类,可以进行以下判断:
    var
      I: Integer;
    begin
      with Form1 do
        for I:=MDIChildCount-1 downto 0 do
        if MDIChildren[I].Caption='ShowForm' then
          MDIChildren[I].Show;
    end;具体根据自己的实际情况设置要显示的Form了!第二个问题没有搞清楚你的真实意思!
      

  2.   

    第一问题大可用API FindWindows(*,*,*),参数大可用MsHelp查。
    找到了即show else Create;
    第二个问题利用触发事件,如发生更改,出警告框并恢复
    我才学了一个月,如果可以,请侍分吧