登陆问题(20分)

  • 主题发起人 主题发起人 shanshan033
  • 开始时间 开始时间
S

shanshan033

Unregistered / Unconfirmed
GUEST, unregistred user!
我建立了一个F_login窗口,是normal类型的,另外有一个主窗口是F_main,类型是MDI的,我想在启动主窗口之前必须先登陆正确才可以完全进去F_main,如果用户登陆的用户名不正确的话,也不要关闭程序,返回焦点给输入用户名的地方,我上网看了很长时间,也试了好多方法都发现有问题,如下:
frmflash:=tfrmflash.Create(application);
frmflash.Show;
frmflash.Update;
这样会同时出现登陆窗口和主窗口;

有的判断是不是按下了F_login.modalresult是不是mrok,但是这样不管用户名是否正确都进到主窗口,都不是我要的效果,请教怎么弄????
 
Application.Initialize;
Form_login:=TForm_login.create(application);

Form_login.showmodal;
if Form_login.ModalResult=1 then
begin
Application.CreateForm(TForm_main, Form_main);
Form_login.Free;
form_login:=nil;
Application.Run;
end
else
begin
Form_login.Free;
form_login:=nil;
end;



Form_login的CLOSE按钮点击事件:
modalresult:=mrNo;
application.Terminate;

Form_login确定按钮的点击事件:
if (........判断用户名/口令) then
modalresult:=mrOk;
 
按照楼上的我试了一下,出现下面的问题,当我输入用户名不正确的时候就退出了程序呀,而我是要求输入不正确则返回焦点给用户名继续输入,而不退出
 
同时还有另外一个问题,运行先出现:
Project FJFW.exe raised exception class EDatabaseError with message 'missing Connection or ConnectionString'.Process stopped.Use step or Run to Continue;

还有一个
Access villation at address 02E51C10.Read of address 02E51C10.
 
mian show时写上login.showmodul就OK了。。
 
根本就不行
 
问你一个问题:你把下面这段代码写在哪里?
Application.Initialize;
Form_login:=TForm_login.create(application);

Form_login.showmodal;
if Form_login.ModalResult=1 then
begin
Application.CreateForm(TForm_main, Form_main);
Form_login.Free;
form_login:=nil;
Application.Run;
end
else
begin
Form_login.Free;
form_login:=nil;
end;
 
把主窗口隐藏了不就可以了吗
 
我写在.dpr文件中了拉,我知道问题在什么地方了,我的"登陆"按纽的modalresult设置的mrno,修改成mrnone就可以了,只是不知道为什么???
 
接受答案了.
 
后退
顶部