![]() |
Compiler: Methode X verbirgt virtuelle Methode vom Basistyp
Habe folgendes Problem:
Ich habe eine abgeleitete Komponente der TIniFile:
Delphi-Quellcode:
Hier kommt es zu folgender Fehlermeldung:
type
TIni = class(TIniFile) {...} public {..} function DeleteKey(const Section, Key: String): Boolean; end; Zitat:
Ich würde nur gerne wissen, wie ich sie wegbekomme /das Problem lösen kann. Oder ist die einzige Möglichkeit, die Funktion umzubenennen? |
Re: Compiler: Methode X verbirgt virtuelle Methode vom Basis
|
Re: Compiler: Methode X verbirgt virtuelle Methode vom Basis
Danke, das war's :thumb:
Delphi-Quellcode:
*freu*
type
TIni = class(TIniFile) {...} public {..} function DeleteKey(const Section, Key: String): Boolean; reintroduce; end; |
Re: Compiler: Methode X verbirgt virtuelle Methode vom Basis
Willst die die alte Methode überschreiben, verwende
![]() Willst du eine neue mit dem gleichen Namen und gleichen Parametern einführen, verwende ![]() |
Re: Compiler: Methode X verbirgt virtuelle Methode vom Basis
Eigentlich sollte die alte Methode schon noch vorhanden sein, habe es auch mit override; zuerst probiert, doch da kam diese Meldung:
Zitat:
|
Re: Compiler: Methode X verbirgt virtuelle Methode vom Basis
DU kannst natürlich nur Methoden mit der gleichen Signatur überladen. In deinem Fall wäre noch
![]() |
Re: Compiler: Methode X verbirgt virtuelle Methode vom Basis
Bei overload kommt auch die ursprüngliche Meldung:
Zitat:
Aber mit reintroduce funzt es ohne Probleme. Ich hatte zwar das geschrieben Zitat:
|
Re: Compiler: Methode X verbirgt virtuelle Methode vom Basis
ich würde die procedure überschreiben und dann zusätzlich überladen.
|
Re: Compiler: Methode X verbirgt virtuelle Methode vom Basis
@SirThornberry:
Meinst Du so????
Delphi-Quellcode:
function DeleteKey(const Section, Key: String): Boolean; override; overload;
|
Re: Compiler: Methode X verbirgt virtuelle Methode vom Basis
nicht ganz. Du schreibst ja das es im Original eine Procedure ist. Dementsprechend musst du wieder eine Procedure machen (mit override) und zusätzlich deine Funktion. Allerdings weiß ich nicht ob der Compiler meckert wenn die Procedure und die Funktion dann die gleichen Parameter haben.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz