我现在想通过一个密码窗口的合格检测后进入MDI窗口,再打开一个子窗口,
使用了以下语句:
1.密码合格后事件:
mainfrm:=Tmainfrm.create(self);
mainfrm.show;
2.MDI窗口的菜单打开子窗口事件:
childfrm:=Tchildfrm.create(self);
childfrm.show;
运行上一句后出错,说我的主窗口不在激和状态,什么原因?
我的密码窗口检测合格后要关闭。
使用了以下语句:
1.密码合格后事件:
mainfrm:=Tmainfrm.create(self);
mainfrm.show;
2.MDI窗口的菜单打开子窗口事件:
childfrm:=Tchildfrm.create(self);
childfrm.show;
运行上一句后出错,说我的主窗口不在激和状态,什么原因?
我的密码窗口检测合格后要关闭。
你延时0.5秒代mianfrm出现后再执行:
childfrm:=Tchildfrm.create(self);
childfrm.show;
我想先出来密码窗口,密码合格后再出来MDI窗口。
mainfrm.formstyle:=fsMDIForm;
mainfrm.show;
这样才是MDI的主窗体
但是你的报错不是指这个,你最好把你的子窗体作在一个Button的事件里面比较好
我想先出来密码窗口,密码合格后再出来MDI窗口你可以把密码窗口的密码检测放在工程文件中或在主窗口的OnCreate事件中。
你可以在这里搜索一下,这方面的资料很多。
begin
Application.Initialize ;
//
SplashForm := TfrmSplashForm.Create(Application);
SplashForm.Show;
SplashForm.Update;
LoginForm := TfrmLoginForm.Create(Application);
LoginForm.ShowModal;
//这里处理登录结果
LoginForm.Free;
SplashForm.Update;
//frmMainForm是MDI主窗口
Application.CreateForm(TfrmMainForm,frmMainForm); SplashForm.Hide;
SplashForm.Free; Application.Run;
end;
end;
program mAppTemplateChs;uses
Forms,
Controls,
wFlash,
wLogon,
AppInfo in 'AppInfo.pas',
untMaindb in 'untMaindb.pas' {dmMaindb: TDataModule},
untMain in 'untMain.pas' {frmMain},
wmaindb in '..\source\wmaindb.pas' {MainDataModule: TDataModule},
untOption in 'untOption.pas' {frmOption};{$R *.res}begin
Application.Initialize;
Application.Title := '梦湘工作室软件-数据库应用程序模板';
frmflash:=Tfrmflash.Create(Application);
{$ifndef debug}
frmflash.Show;
frmflash.Refresh;
{$endif}
//初始化数据库
dmMainDB:=TdmMainDB.Create(Application);
if not dmMainDB.OpenDatabase then
begin
dmMainDB.Free;
Application.Terminate;
exit;
end;
//连接数据库成功,开始登录
frmLogon:=TfrmLogon.Create(Application);
if frmLogon.ShowModal<>mrOK then //登录失败
begin
dmMainDB.Free;
Application.Terminate;
exit;
end;
frmLogon.Free;
//建立主窗口
Application.CreateForm(TfrmMain, frmMain);
frmflash.Free;
//开始循环
Application.Run;
end.