Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 3 264

/ вопрос открыт /

Здравствуйте, эксперты!
У меня такая проблема: в обработчике события FormCreate пишу код.
Весь код выполняется нормально, но когда он заканчивает выполнятся, (т.е на последнем end; ) - происходит ошибка Invalid Pointer Operation; при этом дальше программа стартует без проблем и все работает. подскажите пожалуйста, как убрать эту ошибку?

Приложение:
  1. var strmas: array of string;
  2. nowSelect: integer;
  3. k: integer;
  4.  
  5. ...
  6. ...
  7.  
  8. procedure TForm1.FormCreate(Sender: TObject);
  9. var F: TIniFile;
  10. p: string;
  11. I: Integer;
  12. begin
  13. Label2.Caption:=DateToStr(Now);
  14. //
  15. p:=ExtractFileDir(Application.ExeName)+'\data.dat';
  16. F := TIniFile.Create(p);
  17. try
  18. if FileExists(p) then
  19. begin
  20. k:=F.ReadInteger('AllCounts','Counts',1);
  21. SetLength(strmas, k);
  22. for I := 1 to k do
  23. strmas[i]:=F.ReadString('Zametki', IntToStr(i), '');
  24. nowSelect:=1;
  25. Label9.Caption:=IntToStr(nowSelect);
  26. Button2.Enabled:=true;
  27. Button3.Enabled:=true;
  28. RichEdit1.Text:=strmas[nowSelect];
  29. end;
  30. finally
  31. F.Free;
  32. end;
  33. end;


IlluminatI Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: IlluminatI (статус: 2-ой класс)
Вопрос отправлен: 8 октября 2009, 22:26
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Amidamaru

Здравствуйте, IlluminatI!
Скорее всего это изза строчки
for I := 1 to k do
Индексы динамических массивов ВСЕГДА начинаются с нуля. Т.е. тут должно быть
for I := 0 to k-1 do
ИЛИ в сл. строчке
strmas[i-1] ...

Ответ отправил: Amidamaru (статус: 4-ый класс)
Время отправки: 8 октября 2009, 22:40
Оценка за ответ: 5

Комментарий к оценке: ага, спасибо) я уж сам разобрался)

Мини-форум вопроса

Мини-форум пуст.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 16:36
Выполнено за 0.02 сек.