Einzelnen Beitrag anzeigen

Benmik

Registriert seit: 11. Apr 2009
542 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Variable für const array

  Alt 2. Okt 2017, 13:29
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.
  Mit Zitat antworten Zitat