Delphi XE7 审核错误 'Array index is out of range'

Delphi XE7 Audit Error 'Array index is out of range'

Delphi XE7 Audit 向我显示错误 'Array index is out of range' 此处:

for i := 0 to High(Hazards) do begin
  if Hazards[i].Ident = 123 then begin
    HazardId := i;
    Break;
  end;
end;

有什么问题?

Hazards 是一个动态数组

假设i是有符号类型,Hazards是动态数组,那么代码是正确的,审计是错误的。数组具有 low()high() 的范围,对于动态数组,前者始终为零。

如果我的假设是正确的,那么您应该提交错误报告。我不准备完全肯定地声明错误,因为您没有展示完整的复制品。