Hallo
Heute ist mir etwas beim Debuggen unter D6 folgender For-Schleife aufgefallen:
for i:=1 to 10 do begin
a[i] := random (10000);
end;
Laut Anzeige im Debug-Fenster Lokale Variable wird (Optimierung eingeschaltet) i von 10 nach 1 runtergezählt. Wird die Optimierung ausgeschaltet wird i so wie programmiert von 1 nach 10 hochgezählt.
Wird in der Forschleife der laufindex i dem Caption einer Labelkomponente zugewiesen tritt dieser Effekt nicht auf!
Noch merkwürdiger wird es wenn die Schleife nicht hochzählen sondern runterzählen soll. Dann wird i (lt. Debugg-Fenster) von -10 hochgezählt.
Der Array wird allerdings in der gewünschen Weise gefüllt!
Ist das nur ein Bug in der Anzeige des Debug-Windows oder schlägt da tatsächlich die Optimierung zu?
Heute ist mir etwas beim Debuggen unter D6 folgender For-Schleife aufgefallen:
for i:=1 to 10 do begin
a[i] := random (10000);
end;
Laut Anzeige im Debug-Fenster Lokale Variable wird (Optimierung eingeschaltet) i von 10 nach 1 runtergezählt. Wird die Optimierung ausgeschaltet wird i so wie programmiert von 1 nach 10 hochgezählt.
Wird in der Forschleife der laufindex i dem Caption einer Labelkomponente zugewiesen tritt dieser Effekt nicht auf!
Noch merkwürdiger wird es wenn die Schleife nicht hochzählen sondern runterzählen soll. Dann wird i (lt. Debugg-Fenster) von -10 hochgezählt.
Der Array wird allerdings in der gewünschen Weise gefüllt!
Ist das nur ein Bug in der Anzeige des Debug-Windows oder schlägt da tatsächlich die Optimierung zu?
Comment