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

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

19.01.2012, 14:13. Показов 1754. Ответов 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
Ответ Создать тему
Новые блоги и статьи
сукцессия 6. Питон реализация энилоджиковской модели, картинка про Центральную часть будущей модели
anaschu 26.06.2026
Етить. ИИ мне на основе моего старого файла R создал вот эту вот хмерь на пайтоне. Это уже новая модель, модель сукцессии грибной. потоки фосфора, азота. Углерода. 5 видов организмов. Я даже. . .
Как замкнутый ядерный цикл решит проблему недостатки фосфора? Био миграция фосфора со дна океана
anaschu 26.06.2026
Биологический лифт: Концепция подъема фосфора со дна океана с помощью ЗЯТЦ Предлагаю на обсуждение альтернативу тяжелому промышленному бурению океанического дна. Вместо сложной инженерии мы можем. . .
сукцессия 5
anaschu 26.06.2026
ПЛАН РАЗРАБОТКИ математической модели сукцессии микоризных систем Переход AM → EcM (Endo + ErM) · Шумилов А. С. · ИФХиБПП РАН · Пущино · 2026 . . .
сукцессия 4
anaschu 25.06.2026
Более детализированный план разработки План доработки модели динамики микоризных симбиозов (EcM с гистерезисом) Цель: Реализовать логику переключения между эрикоидным (ErM) и эктомикоризным. . .
сукцессия 3
anaschu 25.06.2026
Примерный план работ по модели
сукцессия 2
anaschu 25.06.2026
параметризировочная калибровочная таблица будущей модели
Многофункциональное здание: как одно здание порождает конфликты требований, которые никто не планировал (мат мет мод 29)
anaschu 23.06.2026
Многофункциональное здание: как одно здание порождает конфликты требований, которые никто не планировал Материалы для обсуждения с МГСУ · 2026 Рисунки внутри приложенного ворд файла. Что за. . .
28. Конкретное развертывание плана номер 1 из поста номер 27
anaschu 22.06.2026
Можно ли из модели получить конкретные строительные требования? Честно — напрямую из текущей модели такие ответы не получить. Но цепочка логики есть, и она не такая длинная. Где разрыв . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru