AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Enum mit DWORDs ??

Ein Thema von Knutifrutti · begonnen am 18. Okt 2017 · letzter Beitrag vom 18. Okt 2017
 
Knutifrutti

Registriert seit: 24. Nov 2008
23 Beiträge
 
#1

Enum mit DWORDs ??

  Alt 18. Okt 2017, 09:38
Delphi-Version: 2007
Hi Leute,
ich möchte gerne einen ENUM mit sehr großen Konstanten definieren um die Lesbarkeit und Debug-Barkeit des Programmes zu verbessern.

Code:
type
  EMsgSig =
  (
    cMESSAGE_SIG_IR_Command_X64_Y32_Analog = $1E65343F, // analog IR Beams
    cMESSAGE_SIG_IR_Command_X64_Y32_Digital = $B672DFE5, // digital IR Beams
    cMESSAGE_SIG_FLOAT_Command             = $4D3D7EA3, // A 32-bit floating point value
    cMESSAGE_SIG_CLIM_Command              = $6991AA0E, // Klima-Sensoren
    cMESSAGE_SIG_CLIM_Command2              = $DEA8CA6C, // Klima-Sensoren
    cMESSAGE_SIG_LOAD_Command              = $55FBCF08, // LoadCell-Sensoren
    cMESSAGE_SIG_LOAD_Command2              = $c1e97ab7, // LoadCell-Sensoren mit Temperatur
    cMESSAGE_SIG_ZERO                      = $00000000  // cMESSAGE_TYPE_RPC_USB2CAN
  );
Leider bekomme ich bei Literalen größer $7FFFFFFF einen Compilerfehler, dass eine Konstante erwartet wird. (zweiter enum-Wert: $B672DFE5)
Ich vermute, das liegt daran, dass maximal Integer-Werte aber nicht Cardinal verwendet werden kann.
{$MINENUMSIZE 4} ... EnumDef ... {$MINENUMSIZE 1} hilft hier auch nicht weiter.

Gibts hier eine Lösung?
Ich würde gerne
1. beim Debuggen im Klartext sehen wollen, was da für eine Message angeflogen kommt und auch
2. vom Compiler gewarnt werden, wenn ich in einem Case-of einen Zweig vergessen habe.

Knulli
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz