Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#5

AW: SetOf typecasten in LongInt

  Alt 1. Okt 2012, 12:06
Dein TSynEditMarkChangeReasons ist ein Byte und kein LongWord/LongInt also ist es vollkommen korrekt, daß es sich nicht casten läßt.

Set:
1-8 Werte = Byte
9-16 Werte = Word
17-32 Werte = LongWord (eigentlich gibt es keine Vorzeichen im SET, aber notfalls ginge auch LongInt)

Enum:
1-256 Werte = Byte
257-65536 Werte = Word
65537-4294967296 Werte = LongWord

Beim ENUM kann man aber über {$MINENUMSIZE} die minimale Byte-Größe festlegen, was es beim SET leider nicht gibt.


[edit]
Nein, das Casten geht schon.
Besser das Casten benutzen, als wilde Speicheroperationen, aber wenigstens nutzt du noch SetOf und nicht irgendwelche "Konstanten".
Aber, wenn man nicht weiß wie groß der Cast sein muß, dann kann man das Caption := IntToStr(SizeOf(r)); benutzen, um nachzusehn.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 1. Okt 2012 um 12:10 Uhr)
  Mit Zitat antworten Zitat