为何我动态生成的窗体form2(不是主窗体)打开时总是放在最上面?不好表现如下:
(1)在它上面用showmodal打开另一窗体form3也显视在它的下面;(2)在它的上面用一
button打开如showmessage(''),application.messagebox(...),messagedlg(...)就
没有反应;(3)打开任务栏的另一程序,另一程序的界面也在FORM2下面(除非把FORM2关闭);
到底我是不是设置错了什么? 另:我在做动态建立窗体个程中常见到"access villation at 
address 0044AF58 in module "sfaproject.ext" Read of address 00000048" 何解?
我的代码约如下:
form2放在avaliable forms中, 
var
form2:Tform2;
begin
  application.create(Tform2,form2);
  form2.showmodal;
end;

解决方案 »

  1.   

    每个窗体记得这样创建:
    try
      Form2:=TForm.Create(Self);
      Form2.ShowModal;
    finally
      Form2.Free;
    end;还有FORM2类型FormStyle不要搞成fsStayOnTop的了
      

  2.   

    补充一下:
    先在DELPHI主菜单的OPTION选项之FORMS页中,
    把要动态创建的FORM由auto-create-forms中移到Available中
      

  3.   

    把application.create(Tform2,form2)改成from2 := TForm2.create(self)可以吗?
      

  4.   

    Form2.ShowModal;=>Form2.Show;ShowModal要等窗体关闭,返回值时才会执行下面的程序!