H2440 Inline-Methodensichtbarkeit muss niedriger oder gleich der Sichtbarkeit des Zugriffselements '%s.%s' sein (Delphi)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Fehler- und Warnungsmeldungen (Delphi)

Ein Element, auf das im Rumpf einer Inline-Funktion zugegriffen wird, muss von jeder Position aus erreichbar sein, von der die Inline-Methode aufgerufen wird. Daher muss das Element mindestens dieselbe Sichtbarkeit haben wie die Inline-Methode.

Hier ein Beispiel für Quelltext, der zu diesem Fehler führt:



 
 type
    TFoo = class
    private
      PrivateMember: Integer;
    public
      function PublicFunc:Integer; inline;
    end;
 
 function TFoo.PublicFunc:Integer;
 	begin
 		Result := Self.PrivateMember;
 	end;



Weil Result := Self.PrivateMember; überalll dort eingefügt wird, wo PublicFunc aufgerufen wird, muss PrivateMember von jeder dieser Positionen aus erreichbar sein.

Um diesen Fehler zu beheben, entfernen Sie die Direktive inline oder passen die Sichtbarkeit der Inline-Methode oder des Elements, auf das sie zugreift, an.