我写了一个简单的Delphi登陆代码,登陆进去过后,主窗体出来了,登陆窗体没有消失,是怎么回事,请高手看看!

来源:百度知道 编辑:UC知道 时间:2024/09/28 11:03:22
这是登陆窗体代码:
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOQuery1.SQL.Add('select * from yhbiao where yh_name = ''' + Edit1.Text + ''' and yh_password = ''' + Edit2.Text + ''' and yh_id = 0');
ADOQuery1.Open;
if ADOQuery1.Eof then
begin
ADOQuery1.SQL.Clear;
ADOQuery1.Close;
Showmessage('你输入的密码或帐号不正确');
exit;
end;
ADOQuery1.SQL.Clear;
ADOQuery1.Close;
Form1.Close;
Form2.Show;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Application.Terminate;
end;

end.
这是主窗体里面的代码:
procedure TForm2.FormCreate(Sender: TObject);
begin
if Form1 = nil then
begin
Form1 := TForm1.Create(self);
end;
Form1.ShowModal;
end;

end.
请高手指点一下!!!

先不说结构是否合理哈,就只说你上面的代码。form1先出现了,然后验证通过,Form1.Close了,接着Form2.Show出来。这样又触发了下面那些TForm2.FormCreate的代码,这段代码把又form1给建回来了。