Ошибка дублирующего идентификатора - PullRequest
0 голосов
/ 31 июля 2010

Я просто кодировал на 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 Ответ

1 голос
/ 31 июля 2010

Очевидно, у вас есть юнит с именем TomAct, но ваш проект также называется TomAct. Выберите другое имя для вашего проекта или подразделения, в котором определена ваша форма.

Первая ошибка, связанная с дублирующим идентификатором, связана с тем, что компилятор считает, что вы пытаетесь «использовать» сам проект, что запрещено. Он выдает сообщение об ошибке и продолжает компиляцию без использования модуля.

Ошибки необъявленного идентификатора являются побочными эффектами первой ошибки. Поскольку модуль не использовался, компилятор не знает о типе и объявленной в нем переменной.

...