Hallo,
habe einen Code der funktioniert.
Als Beispiel:
Delphi-Quellcode:
procedure...
label ForEnd;
begin
for a := 0 to 10 do
begin
for b := 0 to 20 do
begin
if prüfungsachen u.a. mit 'a' und 'b' then Goto ForEnd;
end;
end;
ForEnd:
... variable a und b für die weitere Verarbeitung
end;
Delphi gibt hier Warnungen aus:
For Schleifenvariable 'a' kann nach Durchlauf undefiniert sein
For Schleifenvariable 'b' kann nach Durchlauf undefiniert sein
Versteh ich nur halbwegs... z.b. wenn ein Goto vor der FOR-Schleife stattfinden sollte. Das ist jetzt nicht der Fall. Habe nun mal die Hilfe gelesen.
Da steht folgendes:
Diese Warnung wird angezeigt, wenn die Steuervariable einer for-Schleife nach der Schleife verwendet wird.
Sie können sich nur auf den letzten Wert eines for-Schleifenzählers verlassen, wenn die Schleife mit einer goto- oder exit-Anweisung verlassen wird.
Der Grund für diese Einschränkung ist, dass der Compiler dadurch sehr effizienten Code für die for-Schleife erzeugen kann.
Je nach Prüfung verlässt Goto die beiden FOR-Schleifen korrekt und in 'a' und 'b' habe ich die richtigen Werte. Ich lese jedoch in der Hilfe, dass ich mich eigentlich nur darauf verlassen kann, dass in 'a' der Wert 10 und in 'b' der Wert 20 stehen kann.
Verstehe ich etwas falsch?
Gruß
Michael