Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

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

AW: For-To-Do-Schleife beginnt nicht mit Startwert

  Alt 29. Okt 2014, 14:19
Weshalb ich fragte, ob das Ergebnis nach der Schlafe denn wie erwartet ist...
NEIN.

"Nach" der Schleife ist i immer "ungültig".


Intern kann der Compiler das i anders laufen lassen, je nach Code-Optimierung, aber bei "Verwendung" ist i immer richtig (wird intern wieder umgerechnet)
Der Debugger zeigt nur manchmal was Falsches an, vorallem wenn man i innerhalb der Schleife garnicht verwendet.



Zitat:
Delphi-Quellcode:
MaxZahl:=20;
for i:=1 to MaxZahl do
Ach ja, Delphi cached den Endwert sowieso immer, weswegen man dort keine Variable benötigt.
Drum knallt es gern, wenn man Items aus Listen löscht und dabei die Schleife vorwärts durchläuft.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (29. Okt 2014 um 14:22 Uhr)
  Mit Zitat antworten Zitat