Forum: Win32/Win64 API (native code)
by Zacherl,
22. Apr 2018
Die Bereichsprüfung ist eigentlich ein Runtime-Check, welcher vom Compiler automatisch (transparent im Hintergrund) generiert wird und sollte komplett unabhängig vom Code sein. Höchstens durch harte Casts kannst du das umgehen. Ich glaube ihr sprecht von zwei verschiedenen Dingen.
Forum: Win32/Win64 API (native code)
by Zacherl,
22. Apr 2018
Das ist SmallInt (ja, ich bin auch kein Fan der Delphi Bezeichner für Integer-Typen). Ich verwende meistens die (neuen) Aliase wie Int16, UInt32, etc., da man hier auf den ersten Blick sieht, wie viele Bits beinhaltet sind und ob signed/unsigned.
Forum: Win32/Win64 API (native code)
by Zacherl,
22. Apr 2018
Du meinst sicher bei 145? Das ist nicht weiter verwunderlich, da der Wertebereich von ShortInt von -128..127 geht. Da kommt es zu einem klassischen Overflow. Wenn du keine negativen Werte brauchst, kannst du einfach Byte bzw UInt8 verwenden.