用户密码正确后显示主窗体但登录窗体如何释放?
procedure TForm2.Button1Click(Sender: TObject);
begin
if edit1.Text='hhh' then
form1.show
//form1 是主窗体
else
form2.close;
//form2 是登录窗体
end;

解决方案 »

  1.   

    你不要在登录窗体中创建主窗体,你应该通过修改项目文件来实现.具体如下:
    program MyProjectuses
      ....;begin
      Application.Initialize;
      Form2 := TForm2.Create(nil);
      try
        if Form2.ShowModal <> mrOK then
          exit;
      finally
        Form2.free;
      end;
      Application.CreateForm(TForm1, Form1);
      Application.Run;
    end;
      

  2.   

    在窗体ONCLOSE事件中写 
     Form1 := nil;
      
      Action := caFree;
      

  3.   

    你不要在登录窗体中创建主窗体,你应该通过修改项目文件来实现.具体如下:
    program MyProjectuses
      ....;begin
      Application.Initialize;
      Form2 := TForm2.Create(nil);
      try
        if Form2.ShowModal <> mrOK then
          exit;
      finally
        Form2.free;
      end;
      Application.CreateForm(TForm1, Form1);
      Application.Run;
    end;
      

  4.   

    我的思路一般是先有主窗体再有登录窗体,成功登录的话就关闭登录窗体。
    menliwxj(有缘) 说的对
      

  5.   

    [Error] kqgl.dpr(16): Undeclared identifier: 'mrok'
      

  6.   

    我的问题同上各位老大?系统总是
    Undeclared identifier: 'mrok'
    Undeclared identifier: 'mrok'
    Undeclared identifier: 'mrok'
      

  7.   

    把登录窗体设为子窗体,在它的ONCLOSE中加入: action := cafree;
    而在Project菜单项AUTO RUN框中,加入登录子窗体.
    试试应该可以.
      

  8.   

    记得把你的showmodal的form从project options中去掉