我创建了一个MDI窗体,又创建了一个子窗体,而且子窗体是在MDI窗体创建之后动态生成的,但是运行时弹出一个窗体:
debugger exception notificationproject project1.exe raised exception clasee einvalidoperation with message 'cannot create form.no MDI forms are currently active'.process stopped.use step or run to continue请问怎么办啊,我快死啦!!!痛苦!!

解决方案 »

  1.   

    有没有设置子窗体的FormStyle属性为fsMDIChild
      

  2.   

    有啊,就是设置了FSMDICHILD才出错的,没设置就不会
    大侠救我啦!!!
      

  3.   

    创建子窗体时检查对象实例是否已经存在。
    if not assigned(form2) then
    form2:=tform2.create(application);
    form2.show;
      

  4.   

    no MDI forms are currently active可能是你的主窗口没有设fsMDIForm
      

  5.   

    应该是MDI主窗(口fsMDIForm)没有设为程序的主窗口。
      

  6.   

    打开project的option
    在auto crecte 中把那个child form移到右边。
      

  7.   

    在project1单元中把下面这句去掉  Application.CreateForm(TForm2, Form2);
      

  8.   

    打开project的option
    在auto crecte 中把那个child form移到右边。
      

  9.   

    没有 MDI 的主窗体,或者是 MDI 主窗体没有创建之前,就创建了 MDI 的子窗体。