为什么无法关闭表单???(50分)

  • 主题发起人 主题发起人 maz09
  • 开始时间 开始时间
M

maz09

Unregistered / Unconfirmed
GUEST, unregistred user!
在启动页面后我加了一个登陆页面,如果密码正确的话,就关闭登陆页面并进入主页面
可是我检查了一下,发现登陆页面并没有被关闭,请问是怎么回事啊~~
部分源代码如下:
begin
Table_User.SetKey;
Table_User.Fields[0].AsString:=EditUser.Text;
Table_User.GotoKey;
//检索用户数据表
if (EditUser.Text = Table_User.Fields[0].AsString) and (EditPsw.Text = Table_User.Fields[1].AsString) then
begin
hide;
application.CreateForm(TTestDateForm,TestDateForm);
TestDateForm.ShowModal;
end
代码:
 
那一句是关闭?
 
因为无法关闭,所以在程序里我加了 hide语句,
可是表单并没有关闭,只是隐藏了啊~~~
在内存中还是有啊~~~~~~

 
试一下把hide去掉,用close代替
 
我已经试过了~~close不行的~~
在主程序页面最小化后还是有的~~~
 
在判断口令通过后加入语句
ModalResult := mrOK;
 
hide<>youform.free
你要使用FREE释放登录窗体对象
 
pt_email谢谢你的回答
我帮你加上分,可是我需要的是如何关闭当前表单啊~~~
 
既然已经hide了,为何还要free呢?
 
通常都是把登陆窗体做成变量窗体,这样,在关闭的时候,它就会自动释放的
如 在工程文件中这样写,一定没有问题
frm_login:=tfrm_login.create(application);
frm_login.showmodal;
frm_login.update;
Application.Run;
 
我试了在hide后增加free
可是好象程序表单并没有关闭
而是隐藏起来了,
既然是隐藏我想没必要再用free释放吧~~~
小弟愚见~~~
 
同意一剑封喉,我这么写:
if LoginForm.showmodal = mrOK then
begin
LoginForm.Free;
Application.Run;
end
else
LoginForm.Free;
 
一剑封喉:谢谢~~
可是我现在想关闭当前表单
请问还有其它的办法吗?
 
frm_login:=tfrm_login.create(application);
IF frm_login.showmodal = mrok then
frm_login.free
else
begin
...
end;
 
pt_email好办法~~
真的是好办法~~
嘿嘿~~
我先试试哦~~~
 
完了~~
这次死定了~~
程序出错……
我倒~~
 
还要看program文件的启动顺序
 
来自:fshrq1, 时间:2001-12-3 16:17:00, ID:760837
还要看program文件的启动顺序

???
这好象不会错吧~~
难不成……
再去试试~~~
 
用form.Release;
来关闭表单
 
来自:zhanggm, 时间:2001-12-3 16:28:00, ID:760892
用form.Release;
来关闭表单

我也试过了~
好象也不行呀~~
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
585
import
I
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部