0

TForm宣言を何も変更せずに、Lazarusでコーディングしていました。次に、アプリケーションをテストしようとしましたが、コンパイル時に次のエラーが発生しました。

TomAct.lpr(11,43)エラー:重複する識別子「TOMACT」
TomAct.lpr(15,32)エラー:識別子が「TForm1」で見つかりません
TomAct.lpr(15,39)エラー:識別子が「Form1」で見つかりません
TomAct.lpr(19)致命的:モジュールのコンパイル中に3つのエラーが発生し、停止しました

そして、これが私の*.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.

私は何をする必要がありますか?

4

1 に答える 1

1

明らかに、という名前のユニットTomActがありますが、プロジェクトの名前もTomActです。プロジェクトまたはフォームが定義されているユニットに別の名前を選択してください。

重複する識別子に関する最初のエラーは、コンパイラがプロジェクト自体を「使用」しようとしていると判断したためです。これは許可されていません。エラーメッセージを発行し、ユニットを使用せずにコンパイルを続行します。

宣言されていない識別子のエラーは、最初のエラーの副作用です。ユニットが使用されていないため、コンパイラはその中で宣言されている型と変数を認識しません。

于 2010-07-31T00:10:36.537 に答える