MDI的问题

xiaoxia2005 2005-03-23 07:58:48
有一个登录界面,用来验证用户名和密码,

验证成功后,用F_MainMenu:=TF_MainMenu.Create(self); 打开一个菜单,

但是菜单打开后,程序就显示Cannot create form. No MDI forms are currently active.

请问这是什么原因?

登录界面的FormStyle为fsNormal,F_MainMenu的FormStyle为fsMDIForm;
...全文
98 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoxia2005 2005-03-23
  • 打赏
  • 举报
回复
谢谢,谢谢!
jasonmark 2005-03-23
  • 打赏
  • 举报
回复
为了书写简单起见,我就用Form1代表登录界面,Form2代表MDI主界面(菜单界面)。
1、auto-create forms只保留Form2。
2、修改Project(以下为参考示例)

program Project1;
uses
Forms,
Controls,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2},
Unit3 in 'Unit3.pas' {Form3};

{$R *.res}

begin
Application.Initialize;
Application.ShowMainForm := False;
Application.CreateForm(TForm2, Form2);
Form1 := TForm1.Create(Application);
Form1.ShowModal;
if Form1.ModalResult = mrOk then
begin
Form1.Destroy;
Form2.Show;
end
else
Application.Terminate;
Application.Run;
end.
3、登录界面,如果验证都正确,验证结束后,应该写一句:ModalResult := mrOk;否则你的MDI主界面无法正常显示。
xiaoxia2005 2005-03-23
  • 打赏
  • 举报
回复
为了调试程序,我把登陆表单和菜单表单都设置成了auto-create forms

结果,当登录表单和菜单都弹出来后,我按菜单,

居然也弹出来Cannot create form. No MDI forms are currently active.

而在auto-create forms中移去登录表单,其他都不改,程序就可以正常运行了

很奇怪,请教大家如何解决?谢谢。

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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