H2365 La méthode Override %s.%s devrait avoir la même casse que l'ancêtre %s.%s (Delphi)

De RAD Studio
Aller à : navigation, rechercher

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

Lors de la redéfinition d'une méthode, la meilleure pratique consiste à lui appliquer la même casse que celle de l'ancêtre. Cela évite tout échec en aval qui ne serait pas anticipé par un utilisateur de Delphi s'attendant à une absence de distinction majuscules/minuscules.

Exemple

Le conseil H2365 est émis dans le cas suivant :

 type
   TClass1 = class
     procedure VirtualMethod; virtual; abstract;
   end;
  
   TClass2 = class(TClass1)
     procedure virtualmethod; override;
   end;
  
 procedure TClass2.virtualmethod;
 begin
 end;

Voici quelques situations dans lesquelles Delphi est sensible à la casse :

Dans les déclarations d'unité et les clauses uses, les noms d'unités doivent avoir la même casse que les noms de fichiers. Dans d'autres contextes (comme les identificateurs qualifiés), les noms d'unités ne sont pas sensibles à la casse. Pour éviter des problèmes avec les références d'unités, faites référence de façon explicite au fichier source de l'unité :
uses MyUnit in "myunit.pas";
  • Recensement des composants
Lorsque vous écrivez vos propres composants et que vous souhaitez les recenser, la fonction de recensement que vous déclarez doit être écrite de la manière suivante :
procedure Register;  <<-- Leading capital required.
Le nom de la procédure Register est sensible à la casse pour les packages de conception. Si vous déclarez une procédure register (minuscules), et même si le conseil H2365 n'est pas émis, vous n'obtenez pas le résultat attendu, car votre composant n'est pas recensé. Pour de plus amples informations, voir Utilisation de la procédure RegisterComponents.
  • Importation de fonctions externes
Lors de l'importation de fonctions externes, la casse exacte utilisée dans la DLL doit être conservée.