Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
ofenod
1 / 1 / 0
Регистрация: 12.04.2011
Сообщений: 35
1

После добавления формы возникла ошибка 'access violation'

13.05.2012, 01:26. Просмотров 1241. Ответов 3
Метки нет (Все метки)

После добавления формы возникла ошибка 'access violation'.
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
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls, Mask, DBCtrls;
 
type
  TForm1 = class(TForm)
    ADOConnection1: TADOConnection;
    ADOTable1: TADOTable;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    Button1: TButton;
    Edit1: TEdit;
    Label1: TLabel;
    ADOQuery1: TADOQuery;
    ADOQuery1kol: TIntegerField;
 
    procedure FormPaint(Sender: TObject);
 
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.FormPaint(Sender: TObject);
var
  i:integer;
begin
 
for i:=0 to 14 do begin
  Form1.DBGrid1.Columns.Items[i].Width:=150;
end;
 
Form1.Edit1.Text := Form1.ADOQuery1.Fieldbyname('kol').AsString;
 
 
end;
 
end.
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
unit Unit2;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DBCtrls, Mask;
 
type
  TForm2 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    DBComboBox1: TDBComboBox;
    DBEdit5: TDBEdit;
    DBEdit6: TDBEdit;
    DBEdit7: TDBEdit;
    DBEdit8: TDBEdit;
    DBEdit9: TDBEdit;
    DBEdit10: TDBEdit;
    DBEdit11: TDBEdit;
    DBEdit12: TDBEdit;
    DBEdit13: TDBEdit;
    DBEdit14: TDBEdit;
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form2: TForm2;
 
implementation
 
{$R *.dfm}
 
end.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
program Project1;
 
uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {Form2};
 
{$R *.res}
 
begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm2, Form2);
  Application.Run;
end.
В чем может быть ошибка? Ко второй форме никак не обращался, и никаких обработчиков событий не прописывал. Добавил только несколько Label'ов и DBEdit'ов.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2012, 01:26
Ответы с готовыми решениями:

Динамический массив - после повторного нажатия на кнопку вылетает ошибка access violation
есть код type Tmater = record supplier : integer; mat : Integer; count :...

Ошибка после компиляции Access violation at address 0047B00D in module 'lab2.exe'/ Read of address 00000024
После компиляции программы (она выполнена без ошибок), при запуске .ехе выводится ошибка Access...

Access Violation при открытии формы из списка доступных
На кнопке основной формы есть код "Form2.Show" и если эта форма находится в списке access...

После выхода из процедуры сортировки Access violation
Доброго времени суток, жители КиберФорума! Надеюсь на вашу помощь. Мне нужно срочно реализовать...

Ошибка Access violation...
Доброго времени суток! Выполняю запрос на изменение данных. Первый раз запрос выполняется...

3
Одиночка
3933 / 1858 / 337
Регистрация: 16.03.2012
Сообщений: 3,869
13.05.2012, 03:23 2
Почему ты выравниваешь DBGrid и меняешь значение Edit.Text в событии прорисовки формы. Перенеси в FormShow. Я думаю это из-за этого.
1
Alex_pac
1293 / 699 / 107
Регистрация: 25.05.2011
Сообщений: 2,158
Записей в блоге: 51
13.05.2012, 04:48 3
Перенеси в FormShow
в FormCreate лучше будет
1
ofenod
1 / 1 / 0
Регистрация: 12.04.2011
Сообщений: 35
13.05.2012, 09:08  [ТС] 4
тут короче такая фигня, если закомментировать строчку..
Delphi
1
Form1.Edit1.Text:=Form1.ADOQuery1.Fields[0].AsString;
..программа запускается без ошибок. Не знаю почему, но после того как переподключил ADOConnection1 все заработало, хотя путь до БД был указан верно.
0
13.05.2012, 09:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2012, 09:08

Ошибка access violation
Ничего не делаю в новом проекте пишу следующие begin Form1.Edit1.Text:='asd'; end. ВОт весь...

Ошибка: Access violation
рисую прямоугольник image1.Canvas.Brush.Color := clRed; ...

Ошибка Access Violation
Появляються эти две окна, по очереди. Раньше запускалось. Смысла в коде копаться нет, так как он...


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

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

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