我在mainform中加了一个过程:
procedure TMainform.DisplayForm(FormClass: TFormClass);
begin  with FormClass.Create(Self) do
    try
      ShowModal;
    finally
      Free;
    end;
我用它创建了 displayform(unit1)
现在想知道怎么关掉呀,

解决方案 »

  1.   

    然后 我在unit1form.formshow里检查了 ini配置服务器 
    如果配置对就打开adoconnection1
    打开后关掉这个窗体 接用 close关不掉
    一点作用也没有 
     我后来做了一个过程:
    procedure TMainform.CloseForm(FormClass: TFormClass);
    begin
    self.Close;
    end;
    用mainform.closeform(Tsetform)  能关 
    但把mainform也关了 
      

  2.   

    with FormClass.Create(nil) do
      

  3.   

    算了,这个问题我自己 结了
    我还是问点别的吧 要不怎么结这个贴
    我在mainform中加了一个过程:
    procedure TMainform.DisplayForm(FormClass: TFormClass);
    begin  with FormClass.Create(Self) do
        try
          ShowModal;
        finally
          Free;
        end;然后用它动态创建 displayform(Tform2) 后 出错
    说是地址违例,我知道是在form2的formshow里我引用了
    还没有创建 的窗体from3  
    这个问题怎么解决呀? 我的意思是也要在formshow中
    用到form3....
      

  4.   

    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
    Action:=caFree;
    end;
      

  5.   

    哦 开始的问题我不问了,现在说说
    我在mainform中加了一个过程:
    procedure TMainform.DisplayForm(FormClass: TFormClass);
    begin  with FormClass.Create(Self) do
        try
          ShowModal;
        finally
          Free;
        end;然后用它动态创建 displayform(Tform2) 后 出错
    说是地址违例,我知道是在form2的formshow里我引用了
    还没有创建 的窗体from3  
    这个出错问题怎么解决呀? 我的意思是要在formshow中
    用到form3....