Das Problem hier ist, dass die Schleife ggf. komplett durchlaufen kann, und dann ja trotzdem der Code unter deinem ForEnd Label ausgeführt wird. In diesem Falle wären dann a und b undefiniert. Lösung: Nutze ein weiteres Label, dass im unmittelbar nach der Schleife angesprungen wird, also wenn die "prüfungssachen mit a und b" nie zutreffen. Alternativ muss man natürlich empfehlen, das Konzept an der Stelle komplett zu überdenken, da Gotos allgemein zu miserablem Stil zählen
Edit: Mit den [ delphi] ... [ /delphi] Tags (ohne Leerzeichen) schaut der Code hier im Forum auch hübsch aus, Beispiel:
Delphi-Quellcode:
procedure...
label ForEnd, ForNothing;
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;
Goto ForNothing;
ForEnd:
... variable a und b für die weitere Verarbeitung
ForNothing:
end;
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)