Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.06.2017, 08:13   #1
mr_igolnikova
Новичок
Джуниор
 
Регистрация: 03.06.2017
Сообщений: 4
Восклицание Access violation at address 0066E9A5 in module 'Project1.exe'. Read of address 00000000 - Delphi

Пожалуйста, подскажите как решить эту проблему
Программа выдает ошибку, при нажатии кнопки на форме
Вот код программы:
Вложения
Тип файла: rar Программа.rar (2.96 Мб, 12 просмотров)
mr_igolnikova вне форума Ответить с цитированием
Старый 06.06.2017, 08:28   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Сообщение от mr_igolnikova Посмотреть сообщение
Пожалуйста, подскажите как решить эту проблему
Такие проблемы решаются либо анализом кода, либо пошаговым выполнением (а это почти одно и то же).

Проблема в следующем: Вы пытаетесь обратиться к сериям в чарте, которых предварительно не создали:

Код:
//Считывание вводимых данных
a:=StrToFloat(edit3.Text);
b:=StrToFloat(edit4.Text);
eps:=StrToFloat(edit5.Text);
F1:=Edit1.Text;
F2:=Edit2.Text;
dx:=(b-a)/4000;
//Удаление старой инфрмации поля графика
Chart1.Series[0].Clear;
Изображения
Тип файла: png Series.PNG (27.8 Кб, 83 просмотров)
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 06.06.2017, 08:34   #3
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

И ещё: вот это тоже стреляет, и должно было стрелять

Код:
writeln(StringGrid1.Cells[0,i],' ',StringGrid1.Cells[1,i],' ',StringGrid1.Cells[2,i]);
Консольный вывод в VCL-приложении автоматически распознаётся как попытка вывести информацию в файл, соответственно первый аргумент воспринимается как файловая переменная. И когда программа не находит файл StringGrid1.Cells[0,i] - она выкидывает I/O Error 105
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 06.06.2017, 09:05   #4
mr_igolnikova
Новичок
Джуниор
 
Регистрация: 03.06.2017
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Sciv Посмотреть сообщение
И ещё: вот это тоже стреляет, и должно было стрелять

Код:
writeln(StringGrid1.Cells[0,i],' ',StringGrid1.Cells[1,i],' ',StringGrid1.Cells[2,i]);
Консольный вывод в VCL-приложении автоматически распознаётся как попытка вывести информацию в файл, соответственно первый аргумент воспринимается как файловая переменная. И когда программа не находит файл StringGrid1.Cells[0,i] - она выкидывает I/O Error 105
Я удалила эти строчки, и теперь программа оформляет шапку таблиц, но ошибка по прежнему появляется
mr_igolnikova вне форума Ответить с цитированием
Старый 06.06.2017, 09:23   #5
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Сообщение от mr_igolnikova Посмотреть сообщение
Я удалила эти строчки, и теперь программа оформляет шапку таблиц, но ошибка по прежнему появляется

Не везде удалили:

Код:
   Application.ProcessMessages;
   Chart1.Series[0].AddXY(x(edit1,a0),y(edit2,a0));
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 06.06.2017, 09:29   #6
mr_igolnikova
Новичок
Джуниор
 
Регистрация: 03.06.2017
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Sciv Посмотреть сообщение
Chart1.Series[0].AddXY(x(edit1,a0),y(edit2,a0));
Ведь это же построение графика
если убрать Series[0] то не будет работать
mr_igolnikova вне форума Ответить с цитированием
Старый 06.06.2017, 09:32   #7
mr_igolnikova
Новичок
Джуниор
 
Регистрация: 03.06.2017
Сообщений: 4
По умолчанию

Или может предварительно их создать? Только как?
mr_igolnikova вне форума Ответить с цитированием
Старый 06.06.2017, 09:40   #8
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Два способа:

1. Даблклик по Чарту - Series - Кнопка Add - ввести параметры серии и сохранить
2. Из кода:

Код:
var
  ...
  chSeria: TChartSeries;

begin
  ...
  chSeria := TChartSeries.Create(nil);
  Chart1.SeriesList.Add(chSeria);
  Chart1.Series[0].Clear;
  ...
end;
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка: "Access violation at address 00454F01 in module 'Project1.exe'. Read of address 00000000. Arktos1995 Общие вопросы Delphi 5 12.12.2012 22:33
Ошибка: "Access violation at address 0045E503 in module 'Project1.exe'. Read of address 00316777. Katexxxsa Общие вопросы Delphi 1 03.10.2011 23:16
Ошибка "Access violation at address 004043A8 in module 'Project1.exe'. Read of address 00FF5A53." ms.Karishka Общие вопросы Delphi 6 14.04.2011 22:18
Access violation at address 00478D0E in module 'Project1.exe'. Write of address 00000000 fondreykus-1 Общие вопросы Delphi 5 27.01.2010 14:25
Ошибка: "Access violation at address 00454F01 in module 'Project1.exe'. Read of address 00000000. Fen1x Общие вопросы Delphi 8 13.10.2007 20:13