Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
prog:lazarus:classes:creation_class [06/05/2020 17:17]
thierry [reintroduce]
prog:lazarus:classes:creation_class [17/06/2023 17:11] (Version actuelle)
thierry [inline]
Ligne 49: Ligne 49:
 Ceci est également vrai pour les méthodes ''​dynamic''​.\\ Ceci est également vrai pour les méthodes ''​dynamic''​.\\
 Cependant, vous ne pouvez pas remplacer une méthode si elle n'est pas ''​virtual''​ ou ''​dynamic''​. Cependant, vous ne pouvez pas remplacer une méthode si elle n'est pas ''​virtual''​ ou ''​dynamic''​.
 +
 +''​override''​ peut résoudre l'​erreur suivante :
 +<note warning>​Warning:​ An inherited method is hidden by "​xxxxx;"</​note>​
 +Mais si aprés avoir mis ''​override''​ on obtient a nouveau l'​erreur :
 +<​note ​ warning>​Error:​ There is no method in an ancestor class to be overridden: "​xxxxx;"</​note>​
 +Il faut essayer ''​reintroduce''​
 === abstract === === abstract ===
 Une méthode ''​abstract''​ est déclarée, mais non implémentée dans la classe de base.  Une méthode ''​abstract''​ est déclarée, mais non implémentée dans la classe de base. 
Ligne 100: Ligne 106:
 ===  stdcall === ===  stdcall ===
 <​note>​ToDo</​note>​ <​note>​ToDo</​note>​
 +=== inline ===
 +
 +Le mot réservé inline permet au compilateur de copier une fonction ou une procédure à la place de son appel.
 +
 +Si la fonction ou la procédure inline est utilisée fréquemment,​ cela augmente la vitesse du programme puisque le programme n'a pas besoin de passer à la sous-routine.
 +
 +L'​utilisation des fonctions et procédures inline est désactivée par défaut. Le commutateur du compilateur -Si ou {$inline on} active l'​utilisation des fonctions et procédures inline.
 +
 +
 +inline est une indication du compilateur et le compilateur peut l'​ignorer.\\
 +Si le compilateur vous avertit qu'il n'a pas mis en ligne une certaine partie de code marquée comme inline, vous devez supprimer la directive inline.\\
 +Il ne s'agit pas d'un bogue. Il s'agit de la complexité du code
 +
 +=== Absolute ===
 +Source : [[https://​wiki.freepascal.org/​Absolute]]
 +Le modificateur ''​absolute''​ entraîne le stockage d'une variable au même emplacement de mémoire qu'une autre variable.
 +
  
 +===== Voir aussi =====
 +  * [[prog:​lazarus:​classes:​manip_class]]
 ===== Sources et Ressources ===== ===== Sources et Ressources =====
   * [[https://​wiki.freepascal.org/​Class]]   * [[https://​wiki.freepascal.org/​Class]]