Объявляем класс
| Код | Dimension = class KolPerem : Integer; procedure LoadGrid; //.... end;
procedure Dimension.LoadGrid; begin KolPerem := 0;//Вот здесь возникает ошибка //..... end;
|
Обращаемся к методам класса
| Код | procedure TForm1.BitBtn9Click(Sender: TObject); Var Dim : Dimension; begin Dim.LoadGrid; //... end;
|
Ошибка возникает во время выполнения. Как только задается значение к полю данных класса возникает ошибка, динамические массивы так же реагируют при вызове метода SetLength.
Выводимая ошибка: Project Project1.exe raised exception class EAccessViolation with message 'Access violation at address 00461863 in module 'Project1.exe'. Write of address 0042A820'. Process stopped. Use Step or Run to continue.
Пробовал обращаться через Self
Или объявлять через Public
| Код | Dimension = class Public KolPerem : Integer; procedure LoadGrid; //.... end;
|
Ошибка сохраняется. Любые переменных, объявленные в классе при выполнение выдают ошибку. Я просто не понимаю, с чем это связано. Если объявить переменную как глобальную, то ошибки не возникает, но мне то нужно чтобы она была полем данных в методе, а не глобальной переменной.
| Код | Dimension = class procedure LoadGrid; //.... end; Var KolPerem : Integer;
|
Мне почему-то кажется, что я что-то очень простое и важно упускаю. Но просто ума не приложу что это может быть. |