Delphi中基类窗体找不到解决办法

来源:互联网 发布:物性参数查询软件 编辑:程序博客网 时间:2024/05/21 14:09

    有的时候,我们会碰到一些比较烦人的东西,打开某个继承的窗体,会提示说基类窗体找不到,并且找不开这个窗体,必须先打开基类窗体,然后再打开此窗体,才可以进行设计模式。其实出现这种情况的原因,就是因为工程dpr文件中,没有添加此基类的Form文件造成的,多是由于系统移植造成的,你也可以自己来玩一下。

     解决办法:可以在View菜单中选择Project Manager或者Ctrl+Alt+F11来查看,基类中一定只有pas文件,如果继承的窗体少,你可以直接将继承的窗体去掉,然后将基类的单元文件先移除工程,然后再添加进去就可以了,或者你直接在dpr文件中添加此窗体的声明,形如{XXForm}之类的内容。下面举例说明一下:

    首先新建一个工程,其工程文件如下所示:

  1. program Project1;
  2. uses
  3.   Forms,
  4.   Unit1 in 'Unit1.pas' {Form1};
  5. {$R *.res}
  6. begin
  7.   Application.Initialize;
  8.   Application.CreateForm(TForm1, Form1);
  9.   Application.Run;
  10. end.

你直接将{Form1}去掉,保存,然后再打开的时候,工程文件中仍然包括Unit1.pas,但是此文件已经不包含Unit1.dfm。此时不要紧,你打开工程文件的时候,仍然可以看到窗体Form1,因为它就在当前的搜索路径下面。

然后将{Form1}还原上去,再File-->New-->Other找到Project1下面有选择Form1 Inherited则生成Form2。这时工程文件Uses中多了行代码  Unit2 in 'Unit2.pas' {Form2},接去掉{Form1},保存退出,重新打开,问题就出现了,会提示这样的错误:   

    Error creating form: Ancestor for 'TForm1' not found. 

    你如果关闭掉Form2,然后打开Form1,再打开Form2,则不会再有提示,可是每次都这样做太麻烦了,此时,你可以采用上面介绍的两种方法来完成修改,不让这个提示显示^_^

原创粉丝点击