Показать сообщение отдельно
  #13  
Старый 06.11.2009, 08:02
Аватар для Rokuell
Rokuell Rokuell вне форума
Активный
 
Регистрация: 27.12.2006
Адрес: Псков
Сообщения: 274
Версия Delphi: Delphi 7
Репутация: 497
По умолчанию

Пляски с бубном
Ошибка возникала в коде:
Код:
function TCallsParser.getCallRec(index: integer): TCallRec;
begin
 if index in [0..FCallsCnt-1] then Result := FCalls[index]
 else raise EParserError.Create('Недопустимый индекс массива');
end;
При попытке обратиться к 117 элементу массива при размере массива 629
Бред

Чтобы работало, достаточно немного изменить:
Код:
function TCallsParser.getCallRec(index: integer): TCallRec;
begin
 if (index >= 0) and (index <= High(FCalls)) then
  Result := FCalls[index]
 else
  raise EParserError.Create('Недопустимый индекс массива'#13#10'Индекс = '+IntToStr(index)+#13#10'Допустимые значения = [0..'+IntToStr(FCallsCnt-1)+']');
end;

Исправленный исходник в предыдущем сообщении.
__________________
Велик и могуч наш Object Pascal !
ICQ: 357-591-887
Ответить с цитированием