procedure TloginFrm.loginClick(Sender: TObject);
begin
IndexFrm:=TIndexFrm.create(application) ;
loginFrm.Close; //怎么把IndexFrm也给关了呢?
end;请问怎么修改能实现建立IndexFrm之后loginFrm关闭呢?
begin
IndexFrm:=TIndexFrm.create(application) ;
loginFrm.Close; //怎么把IndexFrm也给关了呢?
end;请问怎么修改能实现建立IndexFrm之后loginFrm关闭呢?
解决方案 »
- 用delphi做一个用来比较两个数据库数据表中的字段是否一样的软件
- From关闭问题
- 倾尽所有分数求一个DBGrid拖动的问题的解答,谢谢大家!
- 关于cxGrid5.7 For Delphi9的安装办法。
- memorystream为什么是空的呢?
- QQ里的悬浮自动隐藏效果是怎么做的?
- 关于SQL server 的大问题,请大家救救命!!!!
- 课程设计求教
- delphi调试时出现这个Project Project1.exe raised exception class EAccessViolation
- 谁有delphi的液晶显示时间控件,或是别的显示时间的控件提供几个?
- 關于打印TDBGrid內容實例
- 计时器
begin
IndexFrm:=TIndexFrm.create(application) ;
IndexFrm.Show;//你这个还没有SHOW
loginFrm.Close; //怎么把IndexFrm也给关了呢?
end;
已经show了IndexFrm
加了你这句还是一样啊 ?
一般来讲,主窗口关闭,其它的窗口都会自动关闭,程序会退出来。
那应该怎么解决呢?
另问如何设置主窗口!
如楼上hawksoft(明月清风)所说
如我想你说的意思是:你想关闭两个窗体,
procedure TloginFrm.loginClick(Sender: TObject);
begin
IndexFrm:=TIndexFrm.create(application) ;
loginFrm.Close;
IndexFrm.close;
//怎么把IndexFrm也给关了呢?
end;
呵呵,主要是你的话有两个意思
那我重新说下!
procedure TloginFrm.loginClick(Sender: TObject);
begin
IndexFrm:=TIndexFrm.create(application) ;
loginFrm.Close; //怎么同时把IndexFrm和loginFrm都给关了呢?我只想关闭loginFr的。!
end;请问怎么修改能实现建立IndexFrm之后loginFrm关闭呢?
在菜单Project/options里有一个FORMS
-----------------------------------------嗯我知道的。。
我是想先显示loginFrm然后再显示IndexFrm的!
通过loginFrm显示出IndexFrm再关闭loginFrm!
再关闭loginFrm创建IndexFrm!如果把IndexFrm设为mainform,那IndexFrm首先创建了。
的办法是不要让Delphi自动创建你的登录窗体。在你的工程文件里写登录代码,如下:
program Project1;uses
Forms,
windows,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {frmLogin};{$R *.res}begin
Application.Initialize;
frmLogin := TfrmLogin.Create(Application);
if frmLogin.ShowModal = idyes then //登录成功
begin
frmLogin.Free;
frmLogin:=nil;
Application.CreateForm(TForm1, Form1);
Application.Run;
end
else
begin
frmLogin.Free;
frmLogin:=nil;
end;
end.
Delphi默认第一个以Application.CreateForm(TForm1, Form1);方式创建的form为主Form.
loginfrm.ShowModal;
idyes 什么东西?
这句什么意思?
然后在此IndexFrm的show 事件里加如下代码:
loginfrm:=tloginfrm.Create(nil);
loginfrm.ShowModal;
loginfrm.Free;
这样更好些
可以先在把IndexFrm设成主窗体
然后在此IndexFrm的show 事件里加如下代码:
loginfrm:=tloginfrm.Create(nil);
loginfrm.ShowModal;
loginfrm.Free;
这样更好些
----------------------------------------
loginfrm.ShowModal;
loginfrm.Free;这样似乎没必要?
if frmLogin.ShowModal = idyes then
这句不能通过!
[Error] salal.dpr(15): Undeclared identifier: 'idyes'
program salal;uses
Forms,
sal in 'sal.pas' {IndexFrm},
log in 'log.pas' {loginFrm},
reg in 'reg.pas' {RegisterFrm};{$R *.res}begin
Application.Initialize;
loginFrm := TloginFrm.Create(Application);
if loginFrm.ShowModal = idyes then //出错。
begin
loginFrm.Free;
loginFrm:=nil;
Application.CreateForm(TIndexFrm, IndexFrm);
Application.Run;
end
else
begin
loginFrm.Free;
loginFrm:=nil;
end;
end主窗口已为IndexFrm
program salal;uses
Forms,
windows,//加引用.
sal in 'sal.pas' {IndexFrm},
log in 'log.pas' {loginFrm},
reg in 'reg.pas' {RegisterFrm};{$R *.res}begin
Application.Initialize;
loginFrm := TloginFrm.Create(Application);
if loginFrm.ShowModal = idyes then //出错。
begin
loginFrm.Free;
loginFrm:=nil;
Application.CreateForm(TIndexFrm, IndexFrm);
Application.Run;
end
else
begin
loginFrm.Free;
loginFrm:=nil;
end;
endIDYES是个常量,Showmodal函数放回值之一。
begin
IndexFrm:=TIndexFrm.create(application) ;
loginFrm.Close;
IndexFrm.close;
//怎么把IndexFrm也给关了呢?
end;
如果你想关闭IndexFrm的话,在loginfrm中要use indexfrmunit