急! MDI的问题

learnall 2004-07-20 12:41:56
我先用一个登录窗口验证身份,验证身份输入正确后创建一个MainForm主窗体
窗体类型为TMDIFORM,
验证身份正确后 我是这样创建的:
mainfrm:=TMainfrm.Create(Application);
Mainfrm.Show;

但是在MainForm窗体中 创建Childform 的时候
总提示错误“Cannot create form, No MDI forms are currently active”

TChildform 我是这样创建的[窗体类型 TMDIchild]
procedure TMainFrm.N3Click(Sender: TObject);
var
ReceiveChild:TReceivefrm;
begin
ReceiveChild:=TReceivefrm.Create(Application);
Receivefrm.Show;
end;

不知道是哪里不对了,请大家来帮忙看看 应该怎样做!
...全文
114 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
learnall 2004-07-20
  • 打赏
  • 举报
回复
自己解决了 结
learnall 2004-07-20
  • 打赏
  • 举报
回复
创建验证窗体是这样写的:
LoginForm:=TLoginForm.Create(Application);

if LoginForm.ShowModal=mrok then
LoginForm.free
else
begin
LoginForm.free;
exit;
end;
learnall 2004-07-20
  • 打赏
  • 举报
回复
但是,我点 确认 按钮的后,即使验证不正确,主窗体也显示出来了... 这个应该在验证时怎样写,才能避免?
insert2003 2004-07-20
  • 打赏
  • 举报
回复
你也可以先创建主窗口

在主窗口的Show事件里再---登录窗口
wychero 2004-07-20
  • 打赏
  • 举报
回复
你这样写不行一楼说的可以。
cnhgj 2004-07-20
  • 打赏
  • 举报
回复
在主窗体的create中写
loginfrom := Tloginfrm.create(nil);
loginfrom.Showmodal;


确定后close,否则不close
learnall 2004-07-20
  • 打赏
  • 举报
回复
那我怎么拦截 当在验证窗口 点[确认]后,如果验证信息不正确,就不能进入系统主界面?
learnall 2004-07-20
  • 打赏
  • 举报
回复
能给一个具体的例子么? 当我把验证窗口关闭时(并没有输入信息进行验证),我的主窗体还是显示出来了,并没有起到验证正确后 才可以使用系统的作用呀!
exu 2004-07-20
  • 打赏
  • 举报
回复
登陆窗体应该创建在工程开始,主窗体的创建最好由Delphi自己搞定
在**.dpr中
begin
......
LoginForm:=TLoginForm.Create(Application);

if LoginForm.ShowModal=mrok then
LoginForm.free
else
begin
LoginForm.free;
exit;
end;
.....
end.

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧