AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein UInt64 Zuweisung an Integer, keine Warnung, Waum?
Thema durchsuchen
Ansicht
Themen-Optionen

UInt64 Zuweisung an Integer, keine Warnung, Waum?

Ein Thema von KodeZwerg · begonnen am 10. Feb 2022 · letzter Beitrag vom 18. Feb 2022
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#1

UInt64 Zuweisung an Integer, keine Warnung, Waum?

  Alt 10. Feb 2022, 12:18
Hallo, warum gibt mir mein Delphi Rio keinen Hinweis bzw. keine Warnung wenn ich Integer := UInt64 mache?
(im quelltext natürlich nicht so formuliert, nur inhaltlich um es nachzuvollziehen)
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.160 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

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

  Alt 10. Feb 2022, 12:29
Das Thema haben wir immer wieder
z.B. hier:
https://www.delphipraxis.net/181938-...chreitung.html

Dabei sind auch ganz interessante Meinungen wie

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

Registriert seit: 12. Aug 2003
Ort: Soest
4.017 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#3

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

  Alt 10. Feb 2022, 16:03
Dabei sind auch ganz interessante Meinungen wie

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

Doof auch, wenn sich wegen solcher mangelnder Checks Defekte in RTL Code einschleichen, wa?
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (10. Feb 2022 um 16:09 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#4

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

  Alt 10. Feb 2022, 17:51
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!
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.017 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#5

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

  Alt 10. Feb 2022, 18:08
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 )

Tools wie Pascal Analyzer generieren bei solchen Zuweisungen schon lange eine Warnung.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (10. Feb 2022 um 18:11 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

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

  Alt 10. Feb 2022, 20:53
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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.446 Beiträge
 
Delphi 11 Alexandria
 
#7

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

  Alt 11. Feb 2022, 08:19
Dafür fallen die etlichen Stunden Fehlersuche diese Woche mit vier beteiligten Personen auf
ok, dass auch der Rangecheck aus war, war unser Fehler.
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.611 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

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

  Alt 11. Feb 2022, 09:42
Dafür fallen die etlichen Stunden Fehlersuche diese Woche mit vier beteiligten Personen auf
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)
Thomas Mueller
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.017 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#9

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

  Alt 12. Feb 2022, 03:25
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
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (12. Feb 2022 um 03:27 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.611 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#10

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

  Alt 12. Feb 2022, 11:34
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?
Thomas Mueller
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 20:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz