Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
1 / 1 / 0
Регистрация: 18.04.2010
Сообщений: 45

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

19.01.2012, 14:13. Показов 1704. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru