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

EAccessViolation ошибка

19.06.2016, 22:44. Просмотров 345. Ответов 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;
Весь код кнопки
0
Миниатюры
EAccessViolation ошибка  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2016, 22:44
Ответы с готовыми решениями:

Ошибка: EAccessViolation
допустил ошибку, понятия не имею, в чем она заключается....(отмечена в коде)...

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

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

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

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

6
Lord_Voodoo
Супер-модератор
8609 / 2235 / 133
Регистрация: 07.03.2007
Сообщений: 10,822
Завершенные тесты: 1
19.06.2016, 23:16 #2
FreeZon, я не уверен, но есть теория: am2 вы не инициализируете ничем, это уже очень плохо... хотя вроде бы дельфи сама пытается адекватно проинициализировать значениями все, что сможет... но тогда есть предположение, что это для массива ваших индексов будет 0, что приводит к обращению к неинициализированной памяти... а то, что у вас не все данные записываются, следует из условия кратности 2 в цикле заполнения данными массива индексов... вам следует хотя бы завести переменную, которая будет считать, сколько ячеек am2 были заполнены... ну вроде бы как-то так...
0
northener
пофигист широкого профиля
3419 / 2319 / 630
Регистрация: 15.07.2013
Сообщений: 13,712
20.06.2016, 01:29 #3
По сообщению об AV тут скорее выход за границы массива am.
0
FIL
Модератор
3419 / 2555 / 726
Регистрация: 19.09.2012
Сообщений: 7,922
20.06.2016, 08:45 #4
Как звучит задание, ибо код - полный бред?
0
FreeZon
8 / 10 / 8
Регистрация: 30.12.2013
Сообщений: 575
20.06.2016, 11:47  [ТС] #5
Цитата Сообщение от FIL Посмотреть сообщение
Как звучит задание, ибо код - полный бред?
Найти сумму чисел массива
0
FIL
Модератор
3419 / 2555 / 726
Регистрация: 19.09.2012
Сообщений: 7,922
20.06.2016, 12:01 #6
Так там и решение есть, и пояснение в чем твоя ошибка (одна из).
0
FreeZon
8 / 10 / 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

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

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

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


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

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

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