2010-07-30 12 views
0

Je codais simplement sur mon Lazarus, sans rien changer aux déclarations TForm. Alors j'ai essayé de tester ma demande, mais sur la compilation je suis arrivé cette erreur:Erreur d'identifiant en double

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

Et voici le contenu de mon fichier * .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. 

Ce que je dois faire?

Répondre

1

De toute évidence, vous avez une unité nommée TomAct, mais votre projet est également nommé TomAct. Choisissez un nom différent pour votre projet ou l'unité où votre formulaire est défini. La première erreur, à propos de l'identificateur de doublon, est que le compilateur pense que vous essayez "d'utiliser" le projet lui-même, ce qui n'est pas autorisé. Il émet un message d'erreur et continue la compilation sans utiliser l'unité.

Les erreurs d'identificateur non déclaré sont des effets secondaires de la première erreur. Puisque l'unité n'a pas été utilisée, le compilateur ne connaît pas le type et la variable déclarée dans celui-ci.

+0

Ok, mais comment puis-je renommer le nom du projet sans causer d'autres problèmes? Parce qu'il ne s'agit pas simplement de renommer le fichier * .lpr. –

+1

Lazarus n'a-t-il pas de commande "Enregistrer sous" dans le menu Fichier? C'est la façon de le faire en Delphi. –

+0

Je reçois toujours la même erreur. **: (** –