Из статического метода нельзя обратиться к нестатическому полю

Описание

К статическим полям можно обратиться без создания экземпляра класса. Нестатические поля доступны только для экземпляра класса. При обращении к нестатическому полю из статического метода экземпляр данного класса еще не инициализирован, что приводит к невозможности изменить значение нестатического поля.

Способ устранения

Из кода необходимо удалить обращение к нестатическим полям из статических методов. Возможно, поля необходимо объявить статическими.

Пример

Class MyClass: Object
    i: Integer;
    
    
Shared Sub UserProc;
    
Begin
        i := 
100;
    
End Sub UserProc;
End Class MyClass;

При компиляции указанного кода на строке «i := 100;» будет сгенерирована ошибка «Из статического метода нельзя обратиться к нестатическому полю». Для разрешения ошибки необходимо добавить директиву «Shared» для переменной «i», либо удалить данную директиву в заголовке процедуры «UserProc».

См. также:

Ошибки компилятора