我只是在我的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.
我需要做什么?
答案 0 :(得分:1)
显然,您有一个名为TomAct
的单位,但您的项目也被命名为TomAct
。为您的项目或定义表单的单位选择一个不同的名称。
关于重复标识符的第一个错误是因为编译器认为您正试图“使用”项目本身,这是不允许的。它会发出错误消息并继续编译而不使用该单元。
未声明的标识符错误是第一个错误的副作用。由于未使用该单元,编译器不知道其中声明的类型和变量。