![]() |
ShortInt-Zuweisung schlägt fehl?
In meinem Programm gibt es eine ShortInt-Variable der ich entweder den Wert 145 oder 117.
Wenn ich 117 setze, hat die Variable komischerweise den Inhalt -111. Nichts wird in einem exotischen Thread gesetzt oder sowas. Alles nur in einem Button im MainThread. Was kann das sein? Wenn ich die Variable auf Integer abändere ist das Problem weg. |
AW: ShortInt-Zuweisung schlägt fehl?
Du meinst sicher bei 145? Das ist nicht weiter verwunderlich, da der Wertebereich von
Delphi-Quellcode:
von -128..127 geht. Da kommt es zu einem klassischen Overflow. Wenn du keine negativen Werte brauchst, kannst du einfach
ShortInt
Delphi-Quellcode:
bzw
Byte
Delphi-Quellcode:
verwenden.
UInt8
|
AW: ShortInt-Zuweisung schlägt fehl?
Oh man tut mir leid!
Ich hab eben schnell bei Gogle gesucht, habe irgendwas mit 32767 gesehen und dachte daran liegts nicht. Ok Dummheit wird bestraft. Danke! |
AW: ShortInt-Zuweisung schlägt fehl?
Zitat:
Delphi-Quellcode:
(ja, ich bin auch kein Fan der Delphi Bezeichner für Integer-Typen). Ich verwende meistens die (neuen) Aliase wie
SmallInt
Delphi-Quellcode:
,
Int16
Delphi-Quellcode:
, etc., da man hier auf den ersten Blick sieht, wie viele Bits beinhaltet sind und ob signed/unsigned.
UInt32
|
AW: ShortInt-Zuweisung schlägt fehl?
Zitat:
* Erstmal tritt das Problem nicht bei 117 sondern bei 145 auf * dann nutzt du nicht den Debugger, denn sonst würdest du sehen, dass es dort nach der Zuweisung so ist * dann hast du nicht die Bereichsprüfung aktiviert, als dir das Problem auffiel, denn sonst wüstet du auch warum * und du hast nicht die OH gelesen, denn sonst wäre dir aufgefallen, dass 145 da irgendwie nicht rein passen kann :zwinker: |
AW: ShortInt-Zuweisung schlägt fehl?
Zitat:
Bei einer eigenen IfThen-Funktion greift die Bereichsprüfung nicht. |
AW: ShortInt-Zuweisung schlägt fehl?
Zitat:
|
AW: ShortInt-Zuweisung schlägt fehl?
Ist ja auch egal. Das Problem wurde gelöst und mehr interessiert auch nicht.
|
AW: ShortInt-Zuweisung schlägt fehl?
Zuviel Wissen verwirrt auch nur ...
|
AW: ShortInt-Zuweisung schlägt fehl?
Recht unfreundlich muss ich sagen, wenn ein Moderator sich rausnehmen darf so etwas beizutragen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:58 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