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

EAccessViolation ошибка

19.06.2016, 22:44. Просмотров 482. Ответов 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
Изображения
Тип файла: png Screenshot_4.png (126.6 Кб, 11 просмотров)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2016, 22:44
Ответы с готовыми решениями:

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

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

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

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

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

6
Lord_Voodoo
Супер-модератор
8715 / 2370 / 137
Регистрация: 07.03.2007
Сообщений: 11,317
Завершенные тесты: 1
19.06.2016, 23:16 2
FreeZon, я не уверен, но есть теория: am2 вы не инициализируете ничем, это уже очень плохо... хотя вроде бы дельфи сама пытается адекватно проинициализировать значениями все, что сможет... но тогда есть предположение, что это для массива ваших индексов будет 0, что приводит к обращению к неинициализированной памяти... а то, что у вас не все данные записываются, следует из условия кратности 2 в цикле заполнения данными массива индексов... вам следует хотя бы завести переменную, которая будет считать, сколько ячеек am2 были заполнены... ну вроде бы как-то так...
0
northener
пофигист широкого профиля
3639 / 2442 / 661
Регистрация: 15.07.2013
Сообщений: 14,557
20.06.2016, 01:29 3
По сообщению об AV тут скорее выход за границы массива am.
0
FIL
Модератор
3458 / 2584 / 738
Регистрация: 19.09.2012
Сообщений: 7,950
20.06.2016, 08:45 4
Как звучит задание, ибо код - полный бред?
0
FreeZon
8 / 10 / 8
Регистрация: 30.12.2013
Сообщений: 575
20.06.2016, 11:47  [ТС] 5
Цитата Сообщение от FIL Посмотреть сообщение
Как звучит задание, ибо код - полный бред?
Найти сумму чисел массива
0
FIL
Модератор
3458 / 2584 / 738
Регистрация: 19.09.2012
Сообщений: 7,950
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
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.06.2016, 12:25

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

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

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


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

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

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