Je suis en train de créer une classe dérivée de TQuery avec deux sous-classes qui dériveront de celle-ci. mais si je rajoute une function virtuelle dans la classe parente et que je l'override dans les deux classes enfants, j'ai une erreur :

Méthode '<élément>' non trouvée dans la classe de base

La classe parent :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
TPersoMereQuery = class(Tquery)
 private
  function getSQL : TStrings; virtual;
 .....
 published
  property SQL : TStrings read getSQL;
 ....
une des classes enfant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
TPersoEnfant1Query = class(TPersoMereQuery)
 private
  function getSQL : TStrings; override;
 .....

Une idée? en fait je voudrait que en faisant un truc du style :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
var q : TPersoMereQuery;
 ....
 
q := TPersoEnfant1Query.create(nil);
q.SQL.Add('SELECT * FROM TABLE_NAME');
ça passe directement dans la fonction de la classe TPersoEnfant1Query et non dans la classe parent.

merci.