[gelöst] Error: Duplicate identifier "Handle"

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
Theozh
Beiträge: 99
Registriert: So 1. Jul 2012, 10:56

[gelöst] Error: Duplicate identifier "Handle"

Beitrag von Theozh »

Hallo,
eine Anwendung, die die UnitA.pas verwendet hatte, funktionierte früher einwandfrei.
Nachdem ich die Datei UnitA.pas in ein anderes Verzeichnis verschoben habe, und aber natürlich in den Projektpfaden den entsprechenden Pfad angegeben habe, kommt die Fehlermeldung:

UnitA.pas(103,24) Error: Duplicate identifier "Handle"
UnitA.pas(103,24) Hint: Identifier already defined in unit CLASSES at line 1613
UnitA.pas(259,1) Fatal: There were 1 errors compiling module, stopping

Das ist die beanstandete Zeile in der UnitA.pas:

Code: Alles auswählen

constructor Create(Handle: THandle; Events: TC32EventType);
An der Datei UnitA.pas habe ich allerdings im Vergleich zu früher (als es noch funktioniert hatte) nichts verändert.
Die Datei UnitA.pas einfach wieder in das ursprüngliche Verzeichnis verschieben hilft auch nichts, jetzt kommt der Fehler immer.
Ist mit dem Verschieben von UnitA.pas die Lazarus IDE durcheinandergekommen?
Was läuft da falsch?
Danke für Hinweise, Theo.
Zuletzt geändert von Theozh am Mo 16. Jun 2014, 13:01, insgesamt 1-mal geändert.

Benutzeravatar
theo
Beiträge: 10867
Registriert: Mo 11. Sep 2006, 19:01

Re: Error: Duplicate identifier "Handle"

Beitrag von theo »

Ich tippe mal drauf, dass du das ursprünglich im Delphi Mode kompiliert hast und jetzt nicht mehr.

Schreib
{$mode delphi}
an den Anfang der Datei oder passe den Code für den FPC Mode an.

Theozh
Beiträge: 99
Registriert: So 1. Jul 2012, 10:56

Re: Error: Duplicate identifier "Handle"

Beitrag von Theozh »

Genau richtig getippt. Vielen Dank, Theo!
Wenn ich also in der UnitA.pas {$mode delphi} einfüge dann tut's.

Warum es aber vorher offebar im Delphi-compatiblen Modus compiliert wurde und dann plötzlich nicht mehr, verstehe ich nicht.
Nur zu meinem Verständnis:
Woher kommt das, dass es im {$mode objfpc} einen "Error: duplicate identifier" gibt und diesen im {$mode delphi} nicht?

Benutzeravatar
theo
Beiträge: 10867
Registriert: Mo 11. Sep 2006, 19:01

Re: [gelöst] Error: Duplicate identifier "Handle"

Beitrag von theo »

FPC mode ist restrikitiver.
Irgendwo gibt es in dem "Namensraum" schon eine Variable namens "Handle".
Wenn du deine umbenennst nach z.B. "AHandle" sollte dieses Problem auch im fpc mode behoben sein.

Dass es vorher ging, kommt von den Projekteinstellungen -> Parsen -> Syntax Modus.

Antworten