Difference between revisions of "Forward Referencing/fr"

From Lazarus wiki
(Déclaration anticipée, et pas avancée)
Line 1: Line 1:
 
{{Forward Referencing}}
 
{{Forward Referencing}}
  
4F - Déclaration avancée (auteur: Tao Yue, état: traduit)
+
4F - Déclaration anticipée (auteur: Tao Yue, état: traduit)
  
 
Après tous ces articles embrouillés, voici quelque chose de facile.
 
Après tous ces articles embrouillés, voici quelque chose de facile.
Line 9: Line 9:
 
Si vous avez deux sous-programmes, chacun appelle l'autre, vous êtes face à un dilemme pour lequel peu importe celui que vous placez en premier, l'autre ne peut toujours pas être appelé par le premier.
 
Si vous avez deux sous-programmes, chacun appelle l'autre, vous êtes face à un dilemme pour lequel peu importe celui que vous placez en premier, l'autre ne peut toujours pas être appelé par le premier.
  
Pour résoudre ce problème de l'œuf et de la poule, utilisez une '' déclaration avancée''.
+
Pour résoudre ce problème de l'œuf et de la poule, utilisez une ''déclaration anticipée''.
 
<syntaxhighlight>
 
<syntaxhighlight>
 
procedure Later (parameter list); forward;
 
procedure Later (parameter list); forward;
Line 26: Line 26:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
La même chose va pour les fonctions. Collez seulement un <tt>forward</tt> à la fin de l'entête.
+
La même chose fonctionne pour les fonctions. Collez seulement un <tt>forward</tt> à la fin de l'entête.
  
 
{|style=color-backgroud="white" cellspacing="20"
 
{|style=color-backgroud="white" cellspacing="20"

Revision as of 00:08, 26 October 2015

български (bg) English (en) français (fr) 日本語 (ja) 中文(中国大陆)‎ (zh_CN)

4F - Déclaration anticipée (auteur: Tao Yue, état: traduit)

Après tous ces articles embrouillés, voici quelque chose de facile.

Rappelez-vous que les procédures/fonctions ne peuvent voir que les variables et les autres sous-programmes qui sont déjà définis. Bien, il y a une exception.

Si vous avez deux sous-programmes, chacun appelle l'autre, vous êtes face à un dilemme pour lequel peu importe celui que vous placez en premier, l'autre ne peut toujours pas être appelé par le premier.

Pour résoudre ce problème de l'œuf et de la poule, utilisez une déclaration anticipée.

procedure Later (parameter list); forward;

procedure Sooner (parameter list);
begin
  ...
  Later (parameter list);
end;
...
procedure Later;
begin
  ...
  Sooner (parameter list);
end;

La même chose fonctionne pour les fonctions. Collez seulement un forward à la fin de l'entête.

précédent table des matières suivant