Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.53/47: Рейтинг темы: голосов - 47, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 22.06.2015
Сообщений: 21
1

Ошибка в программе $C0000005

09.01.2018, 13:52. Показов 8666. Ответов 25
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всех приветствую. Прошу помочь. Написал программу. Запустил. Выполнил условие, дошло до этого момента:
Delphi
1
tmr.Interval := 4000;
и программа вылетает с ошибкой (скриншот).
Миниатюры
Ошибка в программе $C0000005  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.01.2018, 13:52
Ответы с готовыми решениями:

Ошибка: First chance exception at $FEEEFEEE. Exception class $C0000005 with message 'access violation at 0xfeeefeee:
Здравствуйте! Подскажите пожалуйста, из-за чего может возникнуть такая ошибка?: First chance...

Ошибка c0000005 в проводнике
Форумчане! Здравствуйте! Нуждаюсь в вашей помощи, с недавнего времени, начала вылезать ошибка в...

Консольное приложение Win32 - ошибка c0000005
Visual Studio 2010 express Программа http://rghost.ru/53607442 Исходник основного файла ...

Ошибка project Priject1.exe raised exception class $C0000005 with message
Здравствуйте. Сегодня поставил Rad Studio 10.1 Berlin. Создал проект,набросал несколько кнопок,при...

25
Айлурофил
466 / 400 / 108
Регистрация: 27.05.2017
Сообщений: 2,261
Записей в блоге: 1
09.01.2018, 14:36 2
Ошибка в 47 строке.
0
0 / 0 / 0
Регистрация: 22.06.2015
Сообщений: 21
09.01.2018, 14:40  [ТС] 3
Breakpoint говорит обратное. Я проверил.
0
0 / 0 / 0
Регистрация: 22.06.2015
Сообщений: 21
09.01.2018, 14:43  [ТС] 4
Причём каждый раз почему-то по-разному.
Миниатюры
Ошибка в программе $C0000005  
0
Айлурофил
466 / 400 / 108
Регистрация: 27.05.2017
Сообщений: 2,261
Записей в блоге: 1
09.01.2018, 14:44 5
Значит, в 39.
0
0 / 0 / 0
Регистрация: 22.06.2015
Сообщений: 21
09.01.2018, 14:48  [ТС] 6
39 строка вообще не относится к той процедуре. Именно 44 строка. Могу кинуть код процедуры.
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
09.01.2018, 15:03 7
-danildan-, Включи мозг. Тебя просто троллят при чем по делу.
0
0 / 0 / 0
Регистрация: 22.06.2015
Сообщений: 21
09.01.2018, 15:08  [ТС] 8
Мозг работает. Только вот с пониманием сложновато. Шой мне надобно делати?
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
09.01.2018, 15:17 9
Так код приведи, думаешь по 1 строчке можно ошибку найти, тем более если она вообще в другом месте.
0
0 / 0 / 0
Регистрация: 22.06.2015
Сообщений: 21
09.01.2018, 15:19  [ТС] 10
Delphi
1
2
3
4
5
6
7
procedure TForm2.ShowMsg;
begin
  tmr.Interval := 4000;
  tmr.OnTimer := CloseMsg;
  tmr.Enabled := True;
  msg.ShowModal;
end;
Конкретно в
Delphi
1
tmr.Interval := 4000;
ошибка.
0
Модератор
9392 / 6161 / 2403
Регистрация: 21.01.2014
Сообщений: 26,268
Записей в блоге: 3
09.01.2018, 15:33 11
-danildan-, неужели до сих пор непонятно? ПОЛНЫЙ код нужен! Как и где объявлена эта процедура? Как, где и при каких условиях вызывается?
0
0 / 0 / 0
Регистрация: 22.06.2015
Сообщений: 21
09.01.2018, 15:35  [ТС] 12
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
44
45
46
47
48
49
50
51
52
53
54
55
56
unit Unit2;
 
interface
 
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Imaging.pngimage,
  Vcl.ExtCtrls;
 
type
  TForm2 = class(TForm)
    Image1: TImage;
    line0: TLabel;
    line1: TLabel;
    line2: TLabel;
  private
    { Private declarations }
    tmr: TTimer;
  published
    { Public declarations }
    procedure SetLine(num: integer; text: string);
    procedure ShowMsg;
    procedure CloseMsg(Sender: TObject);
  end;
 
var
  msg: TForm2;
 
implementation
 
{$R *.dfm}
 
procedure TForm2.SetLine(num: Integer; text: string);
begin
  case num of
    1: line0.Caption := text;
    2: line1.Caption := text;
    3: line2.Caption := text;
  end;
end;
 
procedure TForm2.ShowMsg;
begin
  tmr.Interval := 4000;
  tmr.OnTimer := CloseMsg;
  tmr.Enabled := True;
  msg.ShowModal;
end;
 
procedure TForm2.CloseMsg(Sender: TObject);
begin
  tmr.Enabled := false;
  msg.Hide;
end;
 
end.

Вызов:
Delphi
1
if host = '***' then msg.ShowMsg;
0
Модератор
9392 / 6161 / 2403
Регистрация: 21.01.2014
Сообщений: 26,268
Записей в блоге: 3
09.01.2018, 15:41 13
Цитата Сообщение от -danildan- Посмотреть сообщение
procedure TForm2.ShowMsg;
begin
* tmr.Interval := 4000;
* tmr.OnTimer := CloseMsg;
* tmr.Enabled := True;
* msg.ShowModal;
end;
Замечательно... А что такое tmr? Я вижу, что это объявленная переменная типа TTimer, но где она создается? Где инициализируется? Вот Вам и AV: Вы пытаетесь оперировать несозданным объектом.
0
0 / 0 / 0
Регистрация: 22.06.2015
Сообщений: 21
09.01.2018, 15:46  [ТС] 14
Создаётся она в классе TForm2:
Delphi
1
2
3
4
5
6
7
8
9
10
type
  TForm2 = class(TForm)
    Image1: TImage;
    line0: TLabel;
    line1: TLabel;
    line2: TLabel;
  private
    { Private declarations }
    tmr: TTimer;
         ...
Добавил инициализацию:
Delphi
1
TTimer.Create(tmr);
Но краш остаётся. Крашит так же на 44 строке (т.е. уже на инициализации).
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
09.01.2018, 15:49 15
Delphi
1
tmr:=TTimer.Create.
0
0 / 0 / 0
Регистрация: 22.06.2015
Сообщений: 21
09.01.2018, 15:53  [ТС] 16
Поправил, но компилятор начал ошибку выдавать:
Delphi
1
[dcc32 Error] Unit2.pas(44): E2035 Not enough actual parameters
0
D1973
09.01.2018, 15:53
  #17

Не по теме:


Цитата Сообщение от -danildan- Посмотреть сообщение
Создаётся она в классе TForm2:
Цитата Сообщение от -danildan- Посмотреть сообщение
Добавил инициализацию:
TTimer.Create(tmr);
-danildan-, может быть, хоть чуть-чуть почитать про создание объектов, да и про ООП вообще, а?

0
0 / 0 / 0
Регистрация: 22.06.2015
Сообщений: 21
09.01.2018, 15:56  [ТС] 18
Цитата Сообщение от D1973 Посмотреть сообщение
-danildan-, может быть, хоть чуть-чуть почитать про создание объектов, да и про ООП вообще, а?
Я давно не программировал. Забыл.
0
Модератор
9392 / 6161 / 2403
Регистрация: 21.01.2014
Сообщений: 26,268
Записей в блоге: 3
09.01.2018, 16:07 19
Цитата Сообщение от -danildan- Посмотреть сообщение
Забыл.
Ну, вспоминайте... Это же азы...
0
0 / 0 / 0
Регистрация: 22.06.2015
Сообщений: 21
09.01.2018, 16:26  [ТС] 20
Всё перепробовал. И создавал по разному. И сделал как объект на форме этот таймер. ОШИБКА В 44 СТРОЧКЕ! А если я туда переменную воткну? Вместо таймера? Это проклятье что-ли?

UPD.
Нет, таймер! Переменная то проходит! Опять на таймере.... ЧТО С НИМ НЕ ТАК!
0
09.01.2018, 16:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.01.2018, 16:26
Помогаю со студенческими работами здесь

Код исключения: c0000005
Здравствуйте, недавно появилась проблема перезапуска проводника, что случается по таким причинам:...

Exception XCPT_ACCESS_VIOLATION (C0000005)
Доброго времени суток. Есть код из примера работы с видеопамятью: begin asm mov ah,2 mov...

C0000005 при использовании COM-объекта
Использую COM-объект для отображения PDF. Если у пользователя на компьютере не стоит Acrobat...

Internal compiler error (C0000005)
что бы это значило. Compaq Fortran 6.5. Спасибо


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru