E2124 Le membre d'instance '%s' est inaccessible ici (Delphi)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Messages d'erreur et d'avertissement (Delphi)

Vous essayez de référencer un membre instance depuis une procédure class.



program Produce;

  type
    Base = class
      Title : String;

      class procedure Init;
    end;

  class procedure Base.Init;
  begin
    Self.Title := 'Ne fonctionne pas';
    Title := 'Ne fonctionne pas';
  end;

begin
end.

Les procédures class n'ont pas de pointeur d'instance, ainsi elles ne peuvent pas accéder aux méthodes ou données instanciées de la classe.



program Solve;

  type
    Base = class
      Title : String;

      class procedure Init;
    end;

  class procedure Base.Init;
  begin
  end;

begin
end.

La seule solution à cette erreur consiste à ne pas accéder aux données membres ni aux méthodes depuis une méthode class.