Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 15.08.2016, 23:42
Maxjuvefan Maxjuvefan вне форума
Прохожий
 
Регистрация: 24.08.2015
Сообщения: 30
Версия Delphi: delphi 2010
Репутация: 10
По умолчанию Ошибка памяти EAccessViolation при FormCreate в Delphi 10

Здравствуйте, у меня программа на Delphi 10, которая работает с базой данной на sql. При работе программа вылетает и выдает такую ошибку:
Project AMG.exe raised exception class EAccessViolation with message ‘Access violation at address 009AC7D4 in module ‘AMG.exe’. Read of address 000000D0’
Я не могу понять почему два идентичных вызова одного и того же метода приводят к AccessViolation в одном случае (blbRazdel3009Click) и нормальной работе в другом (blbRazdel1009Click).

Код:
procedure TMainForm.blbRazdel1009Click(Sender : TObject);
begin
FreeActiveItem;

if Razdel1009Form=nil then
Razdel1009Form:=TRazdel1009Form.Cre ate(Self);
Razdel1009Form.ManualDock(DockPanel ,nil,alClient);
ActiveForm:=Razdel1009Form;
ActiveBarButton:=blbRazdel1009;
ActiveBarButton.Enabled:=false;
FormResize(Sender);
Razdel1009Form.Show;
Razdel1009Form.GROTMGrid.SetFocus;
Razdel1009Form.GROTMTableView.DataC ontroller.SelectRows(0,0);
end;

procedure TMainForm.blbRazdel3009Click(Sender : TObject);
begin
FreeActiveItem;

if Razdel11_009Form=nil then
begin
Razdel11_009Form:=TForm1.Create(Sel f);
Razdel11_009Form.FormCreate(Sender) ;
end;

Razdel11_009Form.ManualDock(DockPan el,nil,alClient);
ActiveForm:=Razdel11_009Form;
ActiveBarButton:=blbRazdel3009;
ActiveBarButton.Enabled:=false;
FormResize(Sender);
Razdel11_009Form.Show;
Razdel11_009Form.GROTMGrid.SetFocus ;
Razdel11_009Form.GROTMTableView.Dat aController.SelectRows(0,0);
end;

Функция FormCreate:

Код:
procedure TForm1.FormCreate(Sender: TObject);
var
I: integer;
Info: PRazdel1Info;
begin
ABDDataModule.GRQuery.Active := false;
ABDDataModule.GRQuery.Active := true;
L := TList.Create;

while not ABDDataModule.GRQuery.Eof do
begin
I := GRTableView.DataController.AppendRe cord;
GRTableView.DataController.Values[I, 0] := false;
GRTableView.DataController.Values[I, 1] :=
ABDDataModule.GRQuery.FieldByName(' name').AsString;
GRTableView.DataController.Values[I, 2] :=
ABDDataModule.GRQuery.FieldByName(' numer').AsInteger;
MAD: [ CODE ] tag required!

Люди добрые, помогите кто чем может

Последний раз редактировалось M.A.D.M.A.N., 16.08.2016 в 08:47.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:37.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter