Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
FreeZon
7 / 9 / 8
Регистрация: 30.12.2013
Сообщений: 575
#1

EAccessViolation ошибка - Delphi

19.06.2016, 22:44. Просмотров 330. Ответов 6
Метки нет (Все метки)

EAccessViolation ошибка при нажатии на кнопку, в коде при сложении....

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
procedure TForm1.Button1Click(Sender: TObject);
var
  am: array[1..10] of integer;
  am2: array[1..10] of integer;
  i1: integer;
  summ: integer;
begin
  Memo1.Lines.Clear(); // очистка поля.
  fillchar(am,sizeof(am),0); // обнуление массива
  for i1:=1 to 10 do
  begin
    am[i1]:=RandomRange(1,10);
    Memo1.Lines.Add(IntToStr(am[i1]));
  end;
  if am[1] mod 2 = 0 then
    begin
      ShowMessage('Первое число массива четное или 0, считать не чего.');
    end
      else
    begin
        for i1:=1 to 10 do
        begin
          if am[i1] mod 2 <> 0 then
            am2[i1]:= i1
          else
          break;
        end;
 
        if Length(am2) > 1 then begin
          for i1:=1 to Length(am2) do
          begin
            try
              summ:= am[am2[i1]]
             except
              on E : Exception do
            ShowMessage(E.ClassName+' поднята ошибка с сообщением : '+E.Message);
          end;
          end;
          ShowMessage(IntToStr(summ));
        end;
 
    end;
end;
Весь код кнопки
http://www.cyberforum.ru/delphi-beginners/thread1240150.html
0
Миниатюры
EAccessViolation ошибка  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2016, 22:44
Я подобрал для вас темы с готовыми решениями и ответами на вопрос EAccessViolation ошибка (Delphi):

Ошибка Eaccessviolation
library Data_Units; Uses Windows, Messages, SysUtils, Variants,...

EAccessViolation ошибка...
Добрый день. Я уже третий месяц пытаюсь сделать проект &quot;датчик движения&quot;, но...

Ошибка EAccessViolation в своей процедуре
Есть массив объявленный глобально, в обычных процедурах с ним можно делать что...

Ошибка: class EAccessViolation with message
При запуске выдаёт ошибкуProject Project1.exe raised exception class...

Массив классов, ошибка EAccessViolation
Суть такова. Есть класс, описывающий учебные дисциплины. type TSubject =...

6
Lord_Voodoo
Супер-модератор
8607 / 2228 / 133
Регистрация: 07.03.2007
Сообщений: 10,802
Завершенные тесты: 1
19.06.2016, 23:16 #2
FreeZon, я не уверен, но есть теория: am2 вы не инициализируете ничем, это уже очень плохо... хотя вроде бы дельфи сама пытается адекватно проинициализировать значениями все, что сможет... но тогда есть предположение, что это для массива ваших индексов будет 0, что приводит к обращению к неинициализированной памяти... а то, что у вас не все данные записываются, следует из условия кратности 2 в цикле заполнения данными массива индексов... вам следует хотя бы завести переменную, которая будет считать, сколько ячеек am2 были заполнены... ну вроде бы как-то так...
0
northener
пофигист широкого профиля
3251 / 2303 / 628
Регистрация: 15.07.2013
Сообщений: 13,591
20.06.2016, 01:29 #3
По сообщению об AV тут скорее выход за границы массива am.
0
FIL
Модератор
3409 / 2547 / 725
Регистрация: 19.09.2012
Сообщений: 7,908
20.06.2016, 08:45 #4
Как звучит задание, ибо код - полный бред?
0
FreeZon
7 / 9 / 8
Регистрация: 30.12.2013
Сообщений: 575
20.06.2016, 11:47  [ТС] #5
Цитата Сообщение от FIL Посмотреть сообщение
Как звучит задание, ибо код - полный бред?
http://www.cyberforum.ru/delphi-beginners/thread1766609.html
0
FIL
Модератор
3409 / 2547 / 725
Регистрация: 19.09.2012
Сообщений: 7,908
20.06.2016, 12:01 #6
Так там и решение есть, и пояснение в чем твоя ошибка (одна из).
0
FreeZon
7 / 9 / 8
Регистрация: 30.12.2013
Сообщений: 575
20.06.2016, 12:25  [ТС] #7
Цитата Сообщение от FIL Посмотреть сообщение
Так там и решение есть, и пояснение в чем твоя ошибка (одна из).
так я в курсе, эту тему я создал еще до того как там ответили, потому что пока я ждал ответа, я делал сам.
0
20.06.2016, 12:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.06.2016, 12:25
Привет! Вот еще темы с решениями:

Ошибка: Exception EAccessViolation in module
Добрый день! Люди, помогите, пожалуйста! Ошибка при запуске программы:...

Ошибка EAccessViolation. Что делать?
Приветствую всех! Как можно разрешить странную ошибку eaccessviolation? Дело в...

Ошибка EAccessViolation при сохранении файла
Собственно при сохранении файла возникает ошибка (на скрине ). Вот кусок...

Ошибка памяти EAccessViolation при FormCreate в Delphi 10
Здравствуйте, у меня программа на Delphi 10, которая работает с базой данной на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru