重复的标识符错误

时间:2010-07-30 23:02:59

标签: duplicates lazarus identifier

我只是在我的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 个答案:

答案 0 :(得分:1)

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

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

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