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 3 von 3     123   
Benutzerbild von himitsu
himitsu

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

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

  Alt 17. Feb 2022, 15:52
Joar, aber manchmal wäre es schon nett, wenn potentielle Fehler wegen nichtinitialisierter Results kämen.

Delphi-Quellcode:
function Test(S: string): string;
begin
  //Result := ''; // nicht initialisert
  for var C in S do
    Result := Result + C; // aka Result := S;
end;

procedure TForm16.FormCreate(Sender: TObject);
var
  S: string;
begin
  for var i := 1 to 5 do
    S := Test('Abc');
  ShowMessage(S);
end;
bzw.
Delphi-Quellcode:
procedure TForm16.FormCreate(Sender: TObject);
var
  S: string;
begin
  S := Test('Abc');
  S := Test('Abc');
  S := Test('Abc');
  ShowMessage(S);
end;
oder
Delphi-Quellcode:
procedure TForm16.FormCreate(Sender: TObject);
var
  S: string;
begin
  S := Test('Abc');
  ShowMessage(S);

  S := Test('Abc');
  ShowMessage(S);

  S := Test('Abc');
  ShowMessage(S);
end;
Tja, was würde man nun im Ausgang erwarten?

-> Einmal das, was Test macht, nichtwar?
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (17. Feb 2022 um 15:55 Uhr)
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.445 Beiträge
 
Delphi 11 Alexandria
 
#22

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

  Alt 18. Feb 2022, 11:35
Joar, aber manchmal wäre es schon nett, wenn potentielle Fehler wegen nichtinitialisierter Results kämen.
Genau genommen wegen nicht explizit initialisierter Results. Weil initialisiert sind sie ja, nur hatl nicht so wie man es erwartet.
Für mich ist es noch ein grosser Unterschied ob etwas initialisiert wie ich es nicht denke aber immer gleich ist - oder ob die Wert gar nicht initialisiert sind und sie also zufällig sind und z.B. davon abhängen was gerade auf dem Stack so rumliegt.
Das sind dann so Fehler die erst nach Monaten oder Jahren erscheinen weil irgend jemand woanders im Code etwas geändert hat oder man von 32 auf 64-Bit wechselt.
Die Fehler wegen vermeintlich nicht initialisierter Results merkt man dann entweder sofort oder auch nie.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 06:01 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