1 / 1 / 0
Регистрация: 18.04.2010
Сообщений: 45

Не корректная работа класса. Access violation.

19.01.2012, 14:13. Показов 1795. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
#include <stdio>
#include <string>
#include <sysmac.h>
 
#include "Unit1.h"
#include "Unit2.h"
 
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
 
}
//---------------------------------------------------------------------------
  class Air
   {
    private:
      bool _pass;
      int _val;
      String _shipment, _arrival;
    public:
     void SetVal(int val )
     {
        _val = val;
     }
     int GetVal()
       {
       return _val;
       };
     void SetShipment (String shipment)
       {
         _shipment = shipment;
       };
     String GetShipment()
       {
         return _shipment;
         };
     void SetArrival (String arrival)
        {
          _arrival = arrival;
        };
     String GetArrival()
        {
          return  _arrival;
        };
     void SetPass( bool pass)
       {
         _pass = pass;
       };
     bool GetPass()
        {
          return _pass;
        };
       };
 
 
    
 
      Air *air;
  
//----------------------------------------------------------------------------
 
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Air * air = (Air *) new Air;
 
     try
     {
   if(RadioButton1->Checked)
    {
   air->SetShipment(Edit1->Text);
   air->SetArrival(Edit2->Text);
 
     Edit1->Clear();
     Edit2->Clear();
     Edit3->Clear();
     Edit4->Clear();
 
     if (RadioButton2->Checked)
     {
       air->SetShipment(Edit1->Text);
       air->SetArrival(Edit2->Text);
       air->SetVal(StrToInt(Edit3->Text));
     Edit1->Clear();
     Edit2->Clear();
     Edit3->Clear();
     Edit5->Clear();
     Edit6->Clear();
      }
      }
    else
      {
          ShowMessage("Заполните все поля");
      }
  }
  catch(...)
  {
  ShowMessage("");
  }
 
 
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::RadioButton1Click(TObject *Sender)
{
  Edit4->Visible = true;
  Label4->Visible = true;
  Edit5->Visible = false;
  Label5->Visible = false;
  Edit6->Visible = false;
  Label6->Visible = false;
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::RadioButton2Click(TObject *Sender)
{
  Edit4->Visible = false;
  Label4->Visible = false;
  Edit5->Visible = true;
  Label5->Visible = true;
  Edit6->Visible = true;
  Label6->Visible = true;
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Form2->Show();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
 
  Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
  Edit7->Text = air->GetShipment();
}
Если я создаю экземпляр класса так "Air air;" то все работает, а если как написано выше при нажатии Button1 всё нормально, а при при нажатии Button4 выходит сообщение об ошибке "Project Projectl .exe raised exception class EAccessViolation with message 'Access violation at address 00402DD3 in module 'Projectl .exe'. Read of address 00000008'. Process stopped. Use Step or Run to continue."
скажите пожалуста где я ошибся?!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.01.2012, 14:13
Ответы с готовыми решениями:

Access violation и переменная класса
Описание класса: interface type TUser=class public Error: boolean; constructor Create(UserId: string); ...

Ошибка Access Violation при использовании vector внутри класса
Проблема в следующем: имеется пользовательский класс. Три поля в классе - векторы, один из которых двумерный. Первое создание экземпляра...

Ошибка Access Violation при попытке создать объект класса. В чем может быть проблема?
Код класса unit Unit2; interface uses SysUtils; type ABCMatrix = class private

22
1 / 1 / 0
Регистрация: 18.04.2010
Сообщений: 45
20.01.2012, 19:16  [ТС]
Студворк — интернет-сервис помощи студентам
Спасибо буду в этом разбираться и пробовать. Если что напишу.

Добавлено через 2 минуты
Да мне нужна чистой воды динамика,просто пишу только по учебе отдельно в чем то разбираться пока времени нет. Поэтому некоторые даже простые вещи не могу сразу сообразить!

Добавлено через 12 минут
Всем кто помог спасибо, я во всем разобрался))) Сегодня допишу курсач. Если кому понадобится консультация в электронике ищите меня в скайпе под таким же ником!

Добавлено через 4 часа 2 минуты
опять у меня не все получается)))
C++
1
TPassengers * pas = new TPassengers[index]
переменная index изменилась как мне изменить размер массива. Что то у меня это с косяками выходит.
0
872 / 448 / 35
Регистрация: 25.10.2011
Сообщений: 910
20.01.2012, 20:00
Цитата Сообщение от zuranika Посмотреть сообщение
переменная index изменилась как мне изменить размер массива. Что то у меня это с косяками выходит.
Есть разные пути реализации, но постоянные сдвиги в массиве из классов не самая удачная мысль, для большинства задач благоразумней задать максимум, но все это зависит от задачи. Объясните, как стоит задача и как вы ее хотите решить.
1
1 / 1 / 0
Регистрация: 18.04.2010
Сообщений: 45
20.01.2012, 20:08  [ТС]
Задача стоит в том что "Объекты классов динамические(выдержка из задания)" я бы хотел для начала задать минимальный размер и по мере внесения данных его увеличивать на 1. То есть при нажатии на кнопку массив увеличивается на 1 и заполняеттся. Нашел на форуме пару тем, но что то пока не могу сделать!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.01.2012, 20:08

Ошибка доступа access violation: почему класс-наследник не видит protected данные-члены класса-родителя?
Подскажите есть базовый класс в разделе protected разместил переменную, которая по идее должна быть видна всем наследникам. Но при запуске...

Virtual Dub, ошибка во время рендеринга: An out-of-bounds memory access (access violation)
Virtual Dub ошибка во время рендинга, осталось совесем чуть чуть и тут ошыбка. Но так не со всеми видео,а с некоторыми.

Не корректная работа программы
Здравствуйте ! Проблема заключается в меню &quot;Чтение базы данных&quot;. Приходится по 2 раза вводить свой запрос, при чем первый полностью...

Не корректная работа кода
Всем привет! Возникла проблема с данным кодом,не могу понять почему когда ставлю число меньше -5 пишет что функция не существует , хотя...

Не корректная работа виды 7
Выдает ошибку &quot;не правильно задан путь&quot; и т.п Не является приложением вин 32 &quot;На многие проги выдает Обновление не устанавливается . ...


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

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

Новые блоги и статьи
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru