Procedure override

DCTerreur Messages postés 7 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 20 août 2010 - 20 août 2010 à 16:05
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 - 11 sept. 2010 à 22:42
Bonjour,

j'ai une procedure que j'override dans un enfant. Le principe de base fonctionne, mais je ne comprend pas comment fonctionne les variable et les sous-procedure de la procedure principale que j'override.

le parent :
procedure Tf_parent.VerifCondition; virtual;
var
  bChamps : Boolean;
  procedure Init; virtual;
  begin
    ...
  end;
  procedure Verif;
  begin
    ...
  end;
begin
  Init;
  Verif;
end;

l'enfant :
procedure Tf_enfant.VerifCondition; override;
  procedure Init; override;
  begin
    inherited;
    ...
  end;
begin
  init;
  bChamps := False;
  verif;
end;


ca ressemble a ce que je veux faire mais dans l'enfant je n'ai pas acces a faire un override dans les sous-procedure init, ni a appeller la sous-procedure verif sans modification, ni a utiliser la variable de la procedure parent.

La solution simple que j'ai pensé, serait de ne pas utiliser de sous-procedures mais seulement des procedures donc je pourrais faire les overrides de toutes les procedures. Mais je perdrais l'avantage d'utiliser des sous-procedures. Donc j'aimerais comprendre mieux les overrides ou si il y a une autre solution qui serait plus avantageuse.

Merci

1 réponse

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
11 sept. 2010 à 22:42
Réponse : relire les règles de portée en Pascal et...les appliquer


May Delphi be with you

Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
Sauvons MySQL
0
Rejoignez-nous