我的这个窗体怎么打不开(5分)

  • 主题发起人 zhangweizw
  • 开始时间
Z

zhangweizw

Unregistered / Unconfirmed
GUEST, unregistred user!
我建了一个mdi窗体和一个mdichild窗体,点击mdi窗体上的菜单时应该弹出mdichild窗体
可是不知道为什么弹不出来.代码如下:
procedure TFormMain.N28Click(Sender: TObject);
var
frm_weituoshoufei:tfrm_weituoshoufei;
begin
application.CreateForm(tfrm_weituoshoufei,frm_weituoshoufei);
frm_weituoshoufei.showmodal;
end;

错误提示: Cannot create form.No MDI forms are currently active

到底错在哪里?
 
1 先检查form 的窗体属性

2.使用Try Finally end ; 否则加载第二次出错

3.application.CreateForm(tfrm_weituoshoufei,frm_weituoshoufei);次句有误
 
错误提示应该是你的子窗体已经是击活的了,你应该看一下project菜单中,有一个option选项,
在这里你可以查看你的子窗体是程序一运行就创建,还是根据你的需要才创建的,将子窗体放在available form一边!
 
上面写错了,应该是frm_weituoshoufei.show;
我的子窗体不是自动创建的呀
 
MDI窗体不可以ShowModal;
if not Assigned(frm_weituoshoufei) then
frm_weituoshoufei := Tfrm_weituoshoufei.Create(Application);
frm_weituoshoufei.Show;

//On Close
Action := caFree;
//Destory
frm_weituoshoufei := nil;
 
我找到问题的原因了,因为我的程序中有一个登陆窗体.如果把启动窗体定为登陆窗口,那么
就会出现上述错误.如果我跳过登陆窗口,直接启动mdi窗口,就可以打开mdichild窗口.
这是为什么,怎么改?总不能不用登陆窗口啊
 
顶部