[BUG REPORT] Parameterausdruck ByteArray Enum Cast

Thomas.AC
Benutzer
Avatar
Geschlecht: keine Angabe
Alter: 44
Beiträge: 308
Dabei seit: 07 / 2013
Betreff:

[BUG REPORT] Parameterausdruck ByteArray Enum Cast

 · 
Gepostet: 19.10.2016 - 16:40 Uhr  ·  #1
Hallo,

Bei meinem Code wird die Zeile getOutput(T_Input(arr[2])) falsch compiliert.
Es wird ein falscher Parameterwert übergeben (siehe Bild).

Wenn ich den Parameterausdruck vorher in eine Zwischenvariable kopiere, dann tritt der Fehler nicht auf.

Gruß

Thomas.AC

Code

program Test;

Device = mega2560, VCC=5;

Import SysTick;

Define
    // System
    ProcClock      = 8000000;             //Hertz
    SysTick        = 5;
    StackSize      = 256, iData;
    FrameSize      = 256, iData;

Implementation
{$IDATA}

type
  T_Input = (IN0, IN1, IN2, IN3);

const
  VAL2 : byte = 2;
  
var
  arr : array[0..4] of byte;

procedure getOutput(input : T_Input);
begin
  // Fehler: input ist ungleich 3 bzw. IN3
  NOP; // nur für breakpoint
end;

begin
  arr[0] := 3;
  arr[1] := 3;
  arr[2] := 3;
  arr[3] := 3;
  arr[4] := 3;
  loop
    getOutput(T_Input(arr[2])); // Aufruf mit 3
  endloop;
end Test.
Der an diesem Beitrag angefügte Anhang ist entweder nur im eingeloggten Zustand sichtbar oder die Berechtigung Deiner Benutzergruppe ist nicht ausreichend.
rh
Administrator
Avatar
Geschlecht:
Herkunft: Germany
Alter: 25
Homepage: e-lab.de
Beiträge: 5558
Dabei seit: 03 / 2002
Betreff:

Re: [BUG REPORT] Parameterausdruck ByteArray Enum Cast

 · 
Gepostet: 19.10.2016 - 17:39 Uhr  ·  #2
Hallo Thomas,
ja, ein offensichtlicher Bug.
Ist hoffentlich am WE raus.

rolf
Gewählte Zitate für Mehrfachzitierung:   0

Registrierte in diesem Topic

Aktuell kein registrierter in diesem Bereich

Die Statistik zeigt, wer in den letzten 5 Minuten online war. Erneuerung alle 90 Sekunden.
MySQL Queries: 15 · Cache Hits: 14   51   65 · Page-Gen-Time: 0.028551s · Speichernutzung: 2 MB · GZIP: ein · Viewport: SMXL-HiDPI