我用的mdi与子窗口,子窗口都是动态创建的,在子窗口的formclose事件中写的是
stu_query.Free ;
mainform.n6.Enabled :=true;  其中stu_query是这个窗口的名字
可是我在子窗口加一个退出的按钮,同样用这个语句就不行了,程序错误条到了工程文件的地方,我的工程文件是这样的
 Application.Initialize;
   logform:=Tlogform.Create(Application);
    Application.CreateForm(Tmainform, mainform);
  Application.CreateForm(Tswrite, swrite);
  mainform.Show ;
   if logform.ShowModal =mrok then
    begin
      logform.Free ;
       Application.Run;
    end
      else
      begin
        application.Terminate ;  //Application.CreateForm(TForm2, Form2);
  Application.Run;
  end
谢谢高手知道啊

解决方案 »

  1.   

    Application.Initialize;
       logform:=Tlogform.Create(Application);
       if logform.ShowModal =mrok then
       begin
          logform.Free ;
       end else exit  Application.CreateForm(Tmainform, mainform);
      Application.CreateForm(Tswrite, swrite);
      Application.Run;
      end
      

  2.   

    谢谢楼上的朋友,可这个没用啊,我开始是登陆窗口在主窗口之前,我用一个label控件试了下,结果不大会出错,是不是一个按钮关闭之后对工程文件的logform.ShowModal =mrok  有影响啊,着急死我了,大家是怎么实现子窗口关闭的啊,我在子窗口的close中写上
    stu_query.Free ;
    mainform.n6.Enabled :=true; 一点事情都没,我真不明白
      

  3.   

    没看明白,那你stu_query又是什么时候创建的呀?
    报的错是什么呢?
      

  4.   

    stu_query是在菜单里动态创建的
      

  5.   

    表述很不清楚。
    子窗体中加入一个退出按键,这个按键的OnClick是怎么写的?
    你是用什么方式退出的?是点你加入的这个退出按键,还是窗口右上角的“关闭”的小叉?还有,不管你用了什么方法,在窗体的事件中调用Free来释放自己是错误的,应该用Action := caFree