var
 myeditform : teditform;
begin
myeditform := teditform.create(self);
end;//看看这个行不行。

解决方案 »

  1.   

    你先new个form,:editform
    把它设为不自动创建然后
      editform:=teidtform.create(application)
      

  2.   

    Uses (EditFormUnitFile);Var EditForm : TEditForm;
    begin
         EditForm := TEditForm.Create(Application);
    end;
      

  3.   

    谢谢,你们的方法是对,但我并不想这样写。
    我想弄懂书上的写法。
    我把问题再说清楚一些:我建了两个FORM:FrameForm和EditForm,分别为MDIframe和MDIChild窗口。
    MDIframe为初始自动创建窗口。1. FrameForm的一段代码:
    //动态新建一个子窗体  
    procedure  TFrameForm.New1Click(Sender:TObject);  
    begin  
       TEditForm.Create(Self);  
    end;  2. EditForm的一段代码:(调用FrameForm的事件代码)
    //新建一个子窗体
    procedure TEditForm.New1Click(Sender:TObject);
    begin
      FrameForm.New1Click(Sender);
    end;编译时总提示TEditForm未定义。
    请问,改怎么定义?
      

  4.   

    是不是没有引用?在uses里加上相应单元再试一下。
      

  5.   

    因为根本就没有TEditForm类啊!
    有这样的代码吗?
    TEditForm=class(TForm)
    ……
      

  6.   

    EditForm中有  TEditForm  = class(TForm) 代码,
    FrameFform中没有。应该加在哪里?加在哪里都不行!
    提示:应该是:不该是=
      

  7.   

    提示错误如下:
    [Error] Unit1.pas(32): Undeclared identifier: 'teditfrom'
      

  8.   

    那就对了!需要在FrameFform中,加uses EditForm!
      

  9.   

    EditForm窗口文件名UNIT2.pas.我加了USES EditForm;   提示找不到EditForm.dcu.我又改成了USES Unit2;  还是提示找不到TEditForm。