H2135 FOR oder WHILE Schleife wird nicht durchlaufen - gelöscht (Delphi)
Nach oben zu Fehler- und Warnungsmeldungen (Delphi)
Der Compiler hat festgestellt, dass die angegebene Schleife nie durchlaufen wird. Daher wurde sie aus Optimierungsgründen entfernt. Beispiel:
program Produce; (*$HINTS ON*) var i : Integer; begin i := 0; WHILE FALSE AND (i < 100) DO INC(i); end.
Der Compiler stellt fest, dass 'FALSE AND (i < 100)' immer False ergibt und die Schleife daher nie zur Ausführung kommt.
program Solve; (*$HINTS ON*) var i : Integer; begin i := 0; WHILE i < 100 DO INC(i); end.
Prüfen Sie, ob der Boolesche Ausdruck, der die Schleife steuert, nicht grundsätzlich False ergibt. Bei for-Schleifen sollten Sie darauf achten, dass Endwert minus Startwert immer größer oder gleich 1 ist.
Bei for-Schleifen wird diese Warnung angezeigt, wenn eine Longint-Schleifenvariable einen Wert annimmt, der außerhalb des Longint-Bereichs liegt. Beispiel:
var I: Cardinal; begin For I := 0 to $FFFFFFFF do ...
Sie können dieses Compiler-Problem beheben, indem Sie die for-Schleife durch eine while-Schleife ersetzen.