![]() |
Delphi-Version: XE2
inherited und die EAbstractError-Exception
*Vorhänge zuzieh*
Meine Damen und Herren, ich präsentiere Ihnen ... das dunkle Geheimnis von
Delphi-Quellcode:
.
inherited
Zur Wiederholung zitiere ich zwei bekannte Größen unter Ihnen: Zitat:
Zitat:
Was mich hierbei nur wundert: Ist die Methode der Oberklasse nun abstrakt - Dann macht ein einfaches
Delphi-Quellcode:
schlichtweg nichts. Setze ich einen Haltepuntk darauf geht der kaputt - Der Compiler scheint es wohl von sich bereits herauszunehmen.
inherited
Rufe ich die abstrakte Methode der Oberklasse über
Delphi-Quellcode:
jedoch mit ihrem Namen und Parametern auf laufe ich (verständlicherweise) auf einen
inherited
Delphi-Quellcode:
.
EAbstractError
Warum diese unterschiedlichen Verhaltensweisen? Gibt es eine Compiler-Direktive mit der ich diese gut gemeinte Hilfe ausschalten kann? |
AW: inherited und die EAbstractError-Exception
warum willst Du denn eine abstrakte und somit nicht implementierte Methode aufrufen?
|
AW: inherited und die EAbstractError-Exception
Vielleicht weiß ich ja garnicht, ob meine Oberklasse noch abstrakt ist oder nicht? :?:
|
AW: inherited und die EAbstractError-Exception
Zitat:
|
AW: inherited und die EAbstractError-Exception
Zitat:
Gibt man die Parameter explizit an, "denkt" der Compiler: "ok, er scheint zu wissen was er tut. Also rufe ich den ererbten Kontruktor auf auch wenn er abstrakt ist". It's not a bug, it's a feature. |
AW: inherited und die EAbstractError-Exception
Zitat:
|
AW: inherited und die EAbstractError-Exception
Gibts eigentlich Compilerwarnungen/hinweise?
|
AW: inherited und die EAbstractError-Exception
Nein.
Ich habe mir sogar die Warnung Konstruierende Instanz enthält abstrakte Methode manuell in einen Compilerfehler verwandelt. |
AW: inherited und die EAbstractError-Exception
Zitat:
|
AW: inherited und die EAbstractError-Exception
Zitat:
Delphi-Quellcode:
hat für mich den schweren Nachteil, dass man nicht per Strg-Klick zur Implementierung springen kann. Darum schreibe ich möglichst immer die lange Form.
inherited;
|
AW: inherited und die EAbstractError-Exception
Zitat:
Genau das war für mich auch der Grund, es bislang immer voll auszuschreiben. Abgesehen davon dass die IDE es auch so oft genug nicht schafft, die Methode bei [STRG]+Klick zu finden wenn sie eingeklappt sind :x (aber das ist wohl ein anderes Thema) |
AW: inherited und die EAbstractError-Exception
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:23 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-2025 by Thomas Breitkreuz