..............
produect Form1.N1Onclick(sender:TObject);
begin
if not Assigned(Form2) then
 Application.CreateForm(TForm2,Form2);
 Form2.show;
end;
.................
上面的代码第一次执行正常,而第二次执行就出现‘Abstract Error’这样的错误,老弟我没撤了。请问应该如何解决这一问题???

解决方案 »

  1.   

    这代码没有什么问题,问题是其它地方是不是释放了FORM2却没有把FORM2置为NIL。
      

  2.   

    是不是应该这样?
    if not Assigned(Form2) then
     Application.CreateForm(TForm2,Form2);
    end;
     Form2.show;或者 干脆
     Application.CreateForm(TForm2,Form2);
     Form2.showmodal;
     form2.free;
      

  3.   

    我只在Form2的OnClose里放了这样一条语句:Action:=caFree;
    这样不可以吗把form2置空吗???
      

  4.   

    象Application.CreateForm一般只能用在工程文件中
    在其他地方要创建显示一个窗体可这样来做try
      AForm := TSomeForm.Create(nil);
      ....
      AForm.ShowModal;
    finally
      AForm.Free;
    end;