Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   UInt64 Zuweisung an Integer, keine Warnung, Waum? (https://www.delphipraxis.net/209938-uint64-zuweisung-integer-keine-warnung-waum.html)

KodeZwerg 10. Feb 2022 12:18

UInt64 Zuweisung an Integer, keine Warnung, Waum?
 
Hallo, warum gibt mir mein Delphi Rio keinen Hinweis bzw. keine Warnung wenn ich
Delphi-Quellcode:
Integer := UInt64
mache?
(im quelltext natürlich nicht so formuliert, nur inhaltlich um es nachzuvollziehen)

Der schöne Günther 10. Feb 2022 12:29

AW: UInt64 Zuweisung an Integer, keine Warnung, Waum?
 
Das Thema haben wir immer wieder
z.B. hier:
https://www.delphipraxis.net/181938-...chreitung.html

Dabei sind auch ganz interessante Meinungen wie

Zitat:

Zitat von MEissing (Beitrag 1273120)
Einfache Antwort: Wenn Delphi (der Delphi-Compiler) alles testen würde, was eventuell schief gehen könnte, dann wären die Übersetzungszeiten länger.


Stevie 10. Feb 2022 16:03

AW: UInt64 Zuweisung an Integer, keine Warnung, Waum?
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1501948)
Dabei sind auch ganz interessante Meinungen wie

Zitat:

Zitat von MEissing (Beitrag 1273120)
Einfache Antwort: Wenn Delphi (der Delphi-Compiler) alles testen würde, was eventuell schief gehen könnte, dann wären die Übersetzungszeiten länger.


interessant war nicht ganz das Adjektiv, was mir dazu als erstes eingefallen ist :roll:

Doof auch, wenn sich wegen solcher mangelnder Checks Defekte in RTL Code einschleichen, wa?

KodeZwerg 10. Feb 2022 17:51

AW: UInt64 Zuweisung an Integer, keine Warnung, Waum?
 
also ich habe den kommentar und den thread gelesen.

ich hätte gerne eine option die von mir aus langsamer kompiliert aber mich beschützt vor fehlschlägen ohne zu wissen an welcher stelle es klemmt.
wurde ja irgendwie dort alles bereits rumklabüsert.

Danke für die rasche Antwort!

Stevie 10. Feb 2022 18:08

AW: UInt64 Zuweisung an Integer, keine Warnung, Waum?
 
Der Kommentar ist übrigens extra lächerlich, da der Compiler sehr wohl um die Typenwandlung weiß, da er dort nämlich bei eingeschalteter Bereichsprüfung den Code für einen potenziellen ERangeError generiert. (viele Grüße von der Ariane 5 an dieser Stelle :lol: )

Tools wie Pascal Analyzer generieren bei solchen Zuweisungen schon lange eine Warnung.

himitsu 10. Feb 2022 20:53

AW: UInt64 Zuweisung an Integer, keine Warnung, Waum?
 
Und das ist eine Prüfung, die nun wirklich praktisch keine Zeit benötigt.
Ich denke mal die paar Millisekunden hierfür, fallen bei den anderen Langsamkeiten überhaupt nicht auf.

Dazu mal auch das Kompilieren mit RangeChecks nicht wirklich merklich langsamer wird.

freimatz 11. Feb 2022 08:19

AW: UInt64 Zuweisung an Integer, keine Warnung, Waum?
 
Dafür fallen die etlichen Stunden Fehlersuche diese Woche mit vier beteiligten Personen auf :evil:
ok, dass auch der Rangecheck aus war, war unser Fehler.

dummzeuch 11. Feb 2022 09:42

AW: UInt64 Zuweisung an Integer, keine Warnung, Waum?
 
Zitat:

Zitat von freimatz (Beitrag 1501985)
Dafür fallen die etlichen Stunden Fehlersuche diese Woche mit vier beteiligten Personen auf :evil:
ok, dass auch der Rangecheck aus war, war unser Fehler.

Willkommen im Club. Ganz toll ist es, wenn man aus Versehen im Debug-Mode RangeChecks nicht eingeschaltet hatte. Oder wenn es Units gibt, die damit nicht funktionieren, es aber nicht explizit ausschalten (MessageDigest_5 aus source\soap\wdslimporter lässt schön grüßen)

Stevie 12. Feb 2022 03:25

AW: UInt64 Zuweisung an Integer, keine Warnung, Waum?
 
Ok, offensichtlich habe ich durch ihre Abwesenheit in den Projektoptionen bedingt (ist bereits lange reportet) vergessen, dass es seit 10.2 folgende neue Warnungen gibt:

IMPLICIT_INTEGER_CAST_LOSS
IMPLICIT_CONVERSION_LOSS
COMBINING_SIGNED_UNSIGNED64

Wie gesagt kann man die derzeit leider nur über die $WARN Direktive im Code oder per dcc Kommandozeile steuern

dummzeuch 12. Feb 2022 11:34

AW: UInt64 Zuweisung an Integer, keine Warnung, Waum?
 
Zitat:

Zitat von Stevie (Beitrag 1502051)
Ok, offensichtlich habe ich durch ihre Abwesenheit in den Projektoptionen bedingt (ist bereits lange reportet) vergessen, dass es seit 10.2 folgende neue Warnungen gibt:

IMPLICIT_INTEGER_CAST_LOSS
IMPLICIT_CONVERSION_LOSS
COMBINING_SIGNED_UNSIGNED64

Wie gesagt kann man die derzeit leider nur über die $WARN Direktive im Code oder per dcc Kommandozeile steuern

Sind die nicht alle standardmäßig sowieso eingeschaltet?


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:14 Uhr.
Seite 1 von 3  1 23      

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