"Doppelpunkt (':') erwartet" Compilerfehler im Zeichenbereich in case-Anweisung im Inno Setup Pascal-Skript

Ich erhalte einen Syntaxfehler "Doppelpunkt (:) erwartet" für diesen Code (Zeile 14; Spalte 10) und bin ratlos. Dieser Code läuft im Inno Setup-Compiler, ist Delphi-ähnlich, aber ich glaube nicht, dass er Delphi-voll ist.

Die Inno Setup-Version ist 5.5.9 (a), also Ansi-Version.

procedure HexToBin(const Hex: string; Stream: TStream);
var
  B: Byte;
  C: Char;
  Idx, Len: Integer;
begin
  Len := Length(Hex);
  If Len = 0 then Exit;
  If (Len mod 2) <> 0 then RaiseException('bad hex length');
  Idx := 1;
  repeat
    C := Hex[Idx];
    case C of
      '0'..'9': B := Byte((Ord(C) - '0') shl 4);
      'A'..'F': B := Byte(((Ord(C) - 'A') + 10) shl 4);
      'a'..'f': B := Byte(((Ord(C) - 'a') + 10) shl 4);
    else
      RaiseException('bad hex data'); 
    end; 
    C := Hex[Idx+1];
    case C of
      '0'..'9': B := B or Byte(Ord(C) - '0');
      'A'..'F': B := B or Byte((Ord(C) - 'A') + 10);
      'a'..'f': B := B or Byte((Ord(C) - 'a') + 10);
    else
      RaiseException('bad hex data'); 
    end; 
    Stream.WriteBuffer(B, 1);
    Inc(Idx, 2);
  until Idx > Len;
end;

begin
  FStream := TFileStream.Create('myfile.jpg', fmCreate);
  HexToBin(myFileHex, FStream);
  FStream.Free;
end;

ann jemand meinen Fehler erkenne

Antworten auf die Frage(2)

Ihre Antwort auf die Frage