War natürlich ein Fehler, keinen Beispielcode mitzuliefern.
Delphi-Quellcode:
type
TEnum =(eEins,eZwei,eDrei,eVier,eFünf,eSechs,eSieben,eAcht,eNeun,eZehn);
const
Enum1 : array[0..4] of TEnum = (eEins,eDrei,eSechs,eSieben,eZehn);
Enum2 : array[0..6] of TEnum = (eZwei,eVier,eFünf,eSechs,eAcht,eNeun,eZehn);
function IstDrin(VarE:TEnum;const AEnum:array of TEnum):Boolean;
var VEnum:TEnum;
begin
Result := False;
For VEnum in AEnum do
If VEnum = VarE
then exit(True);
end;
procedure MachWas(AEnumNr:integer);
var i:integer; AEnum:array of TVarEnum;
begin
case AEnumNr of
1 : AEnum := Enum1;
2 : AEnum := Enum2;
end;
If IstDrin(eDrei,AEnum)
then ... ;
end;
Der Knackpunkt ist
AEnum := Enum1
. Der Compiler sagt (zu Recht), dass ein
array[0..4] of TEnum
nicht das Gleiche ist wie ein dynamisches Array von TEnum.
Ich suche eine Möglichkeit, die verschiedenen Enum1..Enum10 mit einer Variable an die Funktion zu übergeben.