![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Здравствуйте, у меня программа на 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’ Код:
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.AppendRecord;
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;С помощью breakpoint’ов определил, что программа вылетает на использовании DataController. Что это за ошибка и как ее исправить? Или может кто может дать подробные материалы про использование DataController? Последний раз редактировалось M.A.D.M.A.N., 22.07.2016 в 20:09. |
|
#2
|
||||
|
||||
|
Попробуйте переместить этот код из процедуры FormCreate в показ формы, может что-то не успевает создаться,вдруг поможет
|
| Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
Maxjuvefan (26.07.2016)
| ||
|
#3
|
|||
|
|||
|
Гы, я даже скажу, что не успевает создаться.
Собственно, ABDDataModule и не успевает создаться, бо как, видимо, TForm1 есть главная форма приложения, которая создается первой. |
|
#4
|
|||
|
|||
|
Перенес, ошибка пропала.Спасибо
|