|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Ошибка памяти EAccessViolation при использовании TableView.DataController
Здравствуйте, у меня программа на 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
|
|||
|
|||
Перенес, ошибка пропала.Спасибо
|