Ich möchte Subranges verwenden, um Felder zu dimensionieren.
Hier mal ein kleines Beispiel
Delphi-Quellcode:
unit SubRangeTest;
interface
type TEnum1 = (enOne, enTwo, enThree, enFour, enFive);
type TEnum2 = enTwo..enFour;
var
aEnum1 : TEnum1;
aEnum2 : TEnum2;
EnumArray1 :
array[low(TEnum1)..high(TEnum1)]
of integer;
{kein Fehler}
EnumArray2 :
array[low(TEnum2)..high(TEnum2)]
of integer;
{kein Fehler}
implementation
initialization
for aEnum1 := low(tEnum1)
to high(TEnum1)
do
EnumArray1[aEnum1] := 0;
{ok}
for aEnum2 := low(tEnum2)
to high(TEnum2)
do
EnumArray2[aEnum2] := 0;
{Fehlermeldung : Inkommpatible Typen Enumeration und TEnum}
end.
Ich bekomme für das Feld EnumArray2 die Fehlermeldung
Inkommpatible Typen Enumeration und TEnum
Wie kann ich auf ein derart dimensioniertes Feld zugreifen?