代码之家  ›  专栏  ›  技术社区  ›  Nathan Campos

重复标识符错误

  •  0
  • Nathan Campos  · 技术社区  · 14 年前

    我只是在我的Lazarus上编码,没有改变 TForm 声明。然后我尝试测试我的应用程序,但在编译时我得到了以下错误:

    TomAct.lpr(11,43) Error: Duplicate identifier "TOMACT"
    TomAct.lpr(15,32) Error: Identifier not found "TForm1"
    TomAct.lpr(15,39) Error: Identifier not found "Form1"
    TomAct.lpr(19) Fatal: There were 3 errors compiling module, stopping

    下面是我的*.lpr文件的内容:

    program TomAct;
    
    {$mode objfpc}{$H+}
    
    uses
      {$IFDEF UNIX}{$IFDEF UseCThreads}
      cthreads,
      {$ENDIF}{$ENDIF}
      Interfaces, // this includes the LCL widgetset
      Forms
      { you can add units after this }, TomAct;
    
    begin
      Application.Initialize;
      Application.CreateForm(TForm1, Form1);
      Application.Run;
    end.
    

    我需要做什么?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Rob Kennedy    14 年前

    显然,你有一个叫 TomAct 但你的 项目 也被命名 托马特 . 为项目或定义表单的单位选择不同的名称。

    关于重复标识符的第一个错误是,编译器认为您试图“使用”项目本身,这是不允许的。它会发出一条错误消息,并在不使用该单元的情况下继续编译。

    未声明的标识符错误是第一个错误的副作用。由于该单元尚未使用,编译器不知道其中声明的类型和变量。