AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Delphi Enumeration mit gleichen Namen innerhalb einer Unit - Bezeichner redeklariert
Thema durchsuchen
Ansicht
Themen-Optionen

Enumeration mit gleichen Namen innerhalb einer Unit - Bezeichner redeklariert

Ein Thema von lxo · begonnen am 23. Okt 2024 · letzter Beitrag vom 23. Okt 2024
Antwort Antwort
lxo

Registriert seit: 30. Nov 2017
288 Beiträge
 
Delphi 12 Athens
 
#1

Enumeration mit gleichen Namen innerhalb einer Unit - Bezeichner redeklariert

  Alt 23. Okt 2024, 09:53
Hallo,

wenn ich in einer Unit folgende Typen definiere bekomme ich die Fehlermeldung "[dcc32 Fehler] Unit1.pas(24): E2004 Bezeichner redeklariert: "e1"".

Würde ich TClass2 in einer anderen Unit definieren funktioniert es.
Kriegt man das auch irgendwie innerhalb einer Unit hin?

Delphi-Quellcode:
  TClass1 = class
  strict private type
    TEnum = (e1, e2, e3);
  end;

  TClass2 = class
  strict private type
    TEnum = (e1, e2, e3);
  end;
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.093 Beiträge
 
Delphi 12 Athens
 
#2

AW: Enumeration mit gleichen Namen innerhalb einer Unit - Bezeichner redeklariert

  Alt 23. Okt 2024, 10:05
Vielleicht so (ungetestet) ?

Delphi-Quellcode:
TEnum_Base = (e1, e2, e3);

TClass1 = class
  strict private type
    TEnum = TEnum_Base;
  end;

  TClass2 = class
  strict private type
    TEnum = TEnum_Base;
  end;


Ansonsten irgendwas mit {$SCOPEDENUMS ON} ?
  Mit Zitat antworten Zitat
lxo

Registriert seit: 30. Nov 2017
288 Beiträge
 
Delphi 12 Athens
 
#3

AW: Enumeration mit gleichen Namen innerhalb einer Unit - Bezeichner redeklariert

  Alt 23. Okt 2024, 10:10
Vielleicht so (ungetestet) ?

Delphi-Quellcode:
TEnum_Base = (e1, e2, e3);

TClass1 = class
  strict private type
    TEnum = TEnum_Base;
  end;

  TClass2 = class
  strict private type
    TEnum = TEnum_Base;
  end;


Ansonsten irgendwas mit {$SCOPEDENUMS ON} ?

Ja für den Fall würde es gehen.
War auch etwas blödes Beispiel, weil die Enumerationen schon unterschiedlich sein können.
Dann kann ich das nicht anwenden.
Also z.B.

Delphi-Quellcode:
  TClass1 = class
  strict private type
    TEnum = ( e1, e2);
  end;

  TClass2 = class
  strict private type
    TEnum = (e1, e2, e3);
  end;

Aber {$SCOPEDENUMS ON} hilft mir weiter.

Danke
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz