Delphi Compiler Error
E2124 Instance member ‘%s’ inaccessible here
Reason for the Error & Solution
You are attempting to reference a instance member from within a class procedure.
program Produce;
type
Base = class
Title : String;
class procedure Init;
end;
class procedure Base.Init;
begin
Self.Title := 'Does not work';
Title := 'Does not work';
end;
begin
end.
Class procedures do not have an instance pointer, so they cannot access any methods or instance data of the class.
program Solve;
type
Base = class
Title : String;
class procedure Init;
end;
class procedure Base.Init;
begin
end;
begin
end.
The only solution to this error is to not access any member data or methods from within a class method.