Bonjour,
Je dois être aveugle ou avoir un gros trou de mémoire, mais il me semblait que le code suivant était valide en Delphi ou Lazarus :
Or, j'ai le message d'erreur suivant à la compilation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 unit unitcryptinifile; interface uses inifiles, classes; type TCryptIniFile = class(TMemIniFile) private m_cryptage : integer ; public constructor Create ( const aFileName: string; AEscapeLineFeeds : Boolean = False; const aCryptage : integer = 0); override ; destructor Free ; override; end;
Error: There is no method in an ancestor class to be overridden: "constructor TCryptIniFile.Create(const ShortString, Boolean="FALSE",const LongInt="0");"
La définition de TMemInifile.ShortString contient pourtant (avec string et non shortstring dans le premier paramètre contrairement au message d'erreur) :
constructor Create(const AFileName: string; AEscapeLineFeeds : Boolean = False); override;
Si j'enlève la clause override, j'obtiens :
Warning: An inherited method is hidden by "constructor TCryptIniFile.Create(const ShortString, Boolean="FALSE",const LongInt="0");"
Il me semblait bien que l'override était nécessaire et que c'est que je fais déja en bien d'autres cas.
Pouvez-vous m'aider ?
Merci
Martinux
Partager