H2440 La visibilité de la méthode inline n'est pas inférieure ou identique à la visibilité d'accès au membre '%s.%s' (Delphi)

De RAD Studio
Aller à : navigation, rechercher

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

Un membre qui est accédé à l'intérieur du corps d'une méthode inline doit être accessible, quelque soit le lieu d'appel de la méthode. Par conséquent, le membre doit être au moins aussi visible que la méthode inline.

Voici un exemple de code qui provoquera cette erreur :


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

Du fait que Result := Self.PrivateMember; sera inséré quelque soit le lieu d'appel de PublicFunc, PrivateMember doit être accessible dans de tels emplacements.

Pour corriger cette erreur, retirez la directive inline ou réglez la visibilité de la méthode inline ou du membre auquel elle accède.