Am 01.05.2012 15:20, schrieb Bernd: > I just had written this little faulty piece of code: > > procedure TBuddyList.RemoveBuddy(ABuddy: TABuddy); > var > I,J,Last : Integer; > begin > EnterCriticalsection(FCritical); > Last := Length(FList) - 1; > for I := 0 to Last do begin > if FList[I] = ABuddy then begin > for J := I to Last-1 do begin > FList[I] := FList[I+1]; > end; > SetLength(FList, Last); > break; > end; > end; > LeaveCriticalsection(FCritical); > Save; > end; > > note the wrong variable I in the second loop, it should be J. The > variable J was assigned (in the for loop) but never actually used. I > only noticed it by accident (and I could not even test the code yet > because its still incomplete) but a warning "assigned but never used" > would have prevented this. > > Is it intentional because the For loop implicitly checks the loop > variable during looping already which is also regarded as "variable is > used"
Yes. I see a lot of cases where the loop variable itself is not used in the loop. _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal