AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

array[1..10] auf Wert prüfen?

Ein Thema von MicMic · begonnen am 9. Aug 2018 · letzter Beitrag vom 9. Dez 2018
Antwort Antwort
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.312 Beiträge
 
Delphi 12 Athens
 
#1

AW: array[1..10] auf Wert prüfen?

  Alt 15. Aug 2018, 00:10
Schau mal hier

Dort ist extra angegeben, dass die Variable nach Schleifendurchlauf undefiniert ist.

Durch Codeoptimierung des Compilers "könnte" die Variable nicht den erwarteten Wert haben. Nur weil du jetzt keinen Codeschnipsel bekommst, der das zeigen kann, bedeutet es nicht, dass es nicht doch passieren kann.

Außerdem kann mit einer neuen Compilerversion das Verhalten des bestehenden "funktionierenden" Codes verändert werden. Siehst du schon, dass FPC und Delphi den Code unterschiedlich ausführen.

Ich wäre da sehr vorsichtig.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

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

AW: array[1..10] auf Wert prüfen?

  Alt 15. Aug 2018, 07:02
Dort ist extra angegeben, dass die Variable nach Schleifendurchlauf undefiniert ist.
Nee.
Zitat:
FOR-Loop variable '%s' may be undefined after loop
may = könnte.
Lustig das Du sowas für meine Delphi Version gefunden hast.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.312 Beiträge
 
Delphi 12 Athens
 
#3

AW: array[1..10] auf Wert prüfen?

  Alt 15. Aug 2018, 09:17
Nee.
Zitat:
FOR-Loop variable '%s' may be undefined after loop
may = könnte.
Das reicht doch schon um eine Variable als undefiniert anzusehen. Außer ich weiß, wann die Variable undefiniert sein könnte.

Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

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

AW: array[1..10] auf Wert prüfen?

  Alt 15. Aug 2018, 09:33
Das "may/könnte" gibt eher an das es am Programmierer liegt dafür Sorge zu tragen ob etwas un-/definiert ist.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#5

AW: array[1..10] auf Wert prüfen?

  Alt 15. Aug 2018, 09:42
Das "may/könnte" gibt eher an das es am Programmierer liegt dafür Sorge zu tragen ob etwas un-/definiert ist.
Das „may“ gibt an, dass bei der Entwicklung des Compilers kein Wert darauf gelegt wird, dass in der Schleifenvariable nach der Schleife ein bestimmter Wert enthalten ist auf den man sich verlassen kann.

Wer sich darauf verlässt, ist sozusagen von allen guten Geistern verlassen.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

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

AW: array[1..10] auf Wert prüfen?

  Alt 15. Aug 2018, 09:50
Schlussendlich, da es ein "may" ist, könnten alle Aussagen zutreffen. Punkt, Ende und abgehakt.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: array[1..10] auf Wert prüfen?

  Alt 15. Aug 2018, 11:36
Egal ob "geht garnicht" oder "geht eventuell nicht",
das Verhalten ist so nicht vorgegeben, also kann/darf man sich nicht auf sowas verlassen.

Außer in Ausnahmefällen, kann darf sowas niemals "immer" in Produktivcode verwendet werden.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.820 Beiträge
 
Delphi 12 Athens
 
#8

AW: array[1..10] auf Wert prüfen?

  Alt 15. Aug 2018, 11:55
Schlussendlich, da es ein "may" ist, könnten alle Aussagen zutreffen. Punkt, Ende und abgehakt.
Das mag jetzt hart klingen, vielleicht verletzend, muss aber so gesagt werden:
Ein Entwickler, der einen Fall ignoriert, dessen Auftreten explizit erwähnt wird, sollte den Beruf wechseln.

In diesem Sinne, nix für ungut. Hier haben sich alle Lieb.

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Antwort Antwort


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 08:00 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-2025 by Thomas Breitkreuz