![]() |
[D2007] Warnung sinnvoll bei Methode wg. Groß-Kleinschr
Ich habe mal in einem "schlauen Buch" gelesen, man solle möglichst alle Compiler-Warnungen und Hinweise beachten.
Jetzt habe ich bei einem mittleren Projekt die einzelnen Meldungen angeschaut und bin dabei auf folgende Merkwürdigkeit gestoßen: Macht es Sinn, dass der Compiler moniert, wenn ich "destroy" statt "Destroy" schreibe. Folgender Code verursacht die Meldung DCC Warnung: H2365 Schreibweise der Überschreiben-Methode TTestClass.destroy muss exakt ihrem Vorfahren TObject.Destroy entsprechen.
Delphi-Quellcode:
Die Warnung entfällt, wenn ich Destroy großschreibe.
type TTestClass=class
destructor destroy;override; end; { TTestClass } destructor TTestClass.destroy; begin inherited; end; Außerdem: Ich kann diese Meldung unter Optionen "Compiler-Meldungen" nicht finden, um sie abzuschalten. Wo mache ich das? |
Re: [D2007] Warnung sinnvoll bei Methode wg. Groß-Kleinschr
*räusper*
es macht schon sinn wenn der compiler das moniert, sich dem problem anzunehmen und aus dem kleinen d ein großes D zu machen, anstatt diese fehlermeldung auschalten zu wollen.... also bitte.... |
Re: [D2007] Warnung sinnvoll bei Methode wg. Groß-Kleinschr
Eigentlich macht es keinen Sinn, da Delphi nicht case sensitiv ist. Es hält einen nur dazu an, sauber zu programmieren und erleichter den Umstieg auf case sensitive Sprachen, wie C usw.
|
Re: [D2007] Warnung sinnvoll bei Methode wg. Groß-Kleinschr
aber es ist ja wohl selbstredend "dem wunsch des compilers nachzukommen" und alle warnungen und hinweise bereinigt zu haben.
|
Re: [D2007] Warnung sinnvoll bei Methode wg. Groß-Kleinschr
Ich lasse mir doch von einem Stück Software keine Wünsche diktieren. :mrgreen:
|
Re: [D2007] Warnung sinnvoll bei Methode wg. Groß-Kleinschr
Das hat imho eher mit der Existenz von (VCL).Net zu tun.
|
Re: [D2007] Warnung sinnvoll bei Methode wg. Groß-Kleinschr
Zitat:
Zu den anderen Kommentaren: 1) ich habe 1, bisher nicht alle Wünsche des Compilers erfüllt, ich fasste die Wünsche eher als "Denkanstoss" auf 2) das sind portierte Programme aus Delphi 7 |
Re: [D2007] Warnung sinnvoll bei Methode wg. Groß-Kleinschr
Meckert der Compiler alle Namen an oder nur Konstruktor und Destruktor?
BTW es gibt uebrigens mindestens Register als case-sensitiven Namen in Delphi. |
Re: [D2007] Warnung sinnvoll bei Methode wg. Groß-Kleinschr
Zitat:
Hier der angekündigte weitere Bericht. Also, auch bei einer ganz normalen procedure wird Groß- und Kleinschreibung berücksichtigt.
Delphi-Quellcode:
TClassA=class
procedure a;virtual; end; TClassB=class(TClassA) procedure A;override; end; |
Re: [D2007] Warnung sinnvoll bei Methode wg. Groß-Kleinschr
@DelphiProgrammierer
Das mit der Groß- bzw. Kleinschreibung kann ich nachvollziehen, sonst wurde es bei mir aber anstandslos übersetzt. Hast Du schon das Update 1 für Delphi 2007 eingespielt? Beste Grüße |
Re: [D2007] Warnung sinnvoll bei Methode wg. Groß-Kleinschr
@madtom
Es wurde auch bei mir übersetzt. Es geht mir nur um die (Un-?)Sinnigkeit des Hinweises während des Compilierens. Ja, ich habe das Update 1 installiert. Zitat:
|
Re: [D2007] Warnung sinnvoll bei Methode wg. Groß-Kleinschr
Hallo,
auf korrekte Groß-/Kleinschreibung muß immer dann geachtet werden, wenn Symbole importiert bzw. exportiert werden. Hier ist ein weiteres Beispiel:
Delphi-Quellcode:
Der Code läßt sich ohne Probleme übersetzen, beim Ausführen erscheint jedoch eine Fehlermeldung. In diesem Fall läßt sich der Fehler entweder durch eine Korrektur der Schreibweise oder durch die Direktive name beheben:
function getTickCount: DWORD;
external 'kernel32.dll'; begin ShowMessage (IntToStr(GetTickCount)); end;
Delphi-Quellcode:
Der Grund für das scheinbar sinnlose Verhalten liegt in der Kompatibilität zu case-sensitiven Sprachen (C, C++). Deshalb war Borland seinerzeit mehr oder weniger
function getTickCount: DWORD;
external 'kernel32.dll' name 'GetTickCount'; ![]() Gruß Hawkeye |
Re: [D2007] Warnung sinnvoll bei Methode wg. Groß-Kleinschr
Also ich wuerde mich ueber eine Liste der Warnungen fuer die JVCL freuen. Ich will sie schon seit Jahren case-sensitiv halten.
|
Re: [D2007] Warnung sinnvoll bei Methode wg. Groß-Kleinschr
Zitat:
|
Re: [D2007] Warnung sinnvoll bei Methode wg. Groß-Kleinschr
Hallo Robert,
Zitat:
![]() ![]() Gruß Hawkeye |
Re: [D2007] Warnung sinnvoll bei Methode wg. Groß-Kleinschr
Hey, ich hab grad mal CodeLens ausprobiert. Das Teil ist genial (gleich mal Bug in meinem Spiel bemerkt :lol:). CodeWrench lief nicht, habs auch nicht kompiliert, aber CodeLens werd ich nun wohl häufiger benutzen.
|
Re: [D2007] Warnung sinnvoll bei Methode wg. Groß-Kleinschr
Na das koennte helfen. Danke!
|
Re: [D2007] Warnung sinnvoll bei Methode wg. Groß-Kleinschr
Nachdem ich mir die Videos hier aus der Delphi-PRAXiS mal reingezogen habe, habe ich sogar die QA-Audits &c. im BDS gefunden (da wird ja sogar gewarnt, wo camelCase und wo PascalCase angewendet werden soll(te)), und die büroweit prompt als Pflicht eingeführt (Null Warn-Toleranz und CodeHealer waren's schon).
Sobald man im Team arbeitet, ist ein Standard einfach unumgänglich, um Irritationen zu vermeiden und schnellere Lesbarkeit zu gewährleisten, und kann imho sogar arbeitsplatzentscheidend sein. |
Re: [D2007] Warnung sinnvoll bei Methode wg. Groß-Kleinschr
Ich habe ja die ganzen JVCL-Sourcen ueberarbeitet und ich kann sicher sagen das strikte Einhaltung der Schreibweise definitiv leichter lesbar ist. Je mehr das Gehirn mit dem Vergleich von Namen zu tun hat desto anstrengender wird es. Das kann doch aber nicht Sinn der Sache sein. Man verschwendet Energie auf das Lesen der Source statt auf den Algorithmus.
Inzwischen kann ich per PageDown eine Source im Sekundentakt durchgehen und Unregelmaessigkeiten sehen. Eine Unregelmaessigkeit ist auch fast immer ein Punkt wo ein Fehler steckt. |
Re: [D2007] Warnung sinnvoll bei Methode wg. Groß-Kleinschr
Zitat:
Delphi-Quellcode:
und
procedure a;
Delphi-Quellcode:
Das hatte ich ja nach der Rückfrage ausprobiert.
procedure A;
|
AW: Re: [D2007] Warnung sinnvoll bei Methode wg. Groß-Kleinschr
Wollte gerade ein neues Thema aufmachen, fand zum Glück aber dieses hier. XE2 geht mir damit auch auf die Nerven. Nicht nur, daß der Grundsatz der Beliebigkeit der Groß-/Kleinschreibung verletzt wird, ist diese Meldung auch in sich völlig unlogisch: Zum einen ist es nur ein Hinweis, zum anderen ist dieser aber modalverbal maximal restriktiv: "...muss exakt..."
Ja, was denn nun - muß (exakt) oder doch nicht? Man möchte meinen, Programmierer denken exakt und logisch und zudem, daß alles vorab beraten und hinterher noch einmal kontrolliert wird, denn das ist ja nicht zufällig entstanden. Wie so etwas in den Compiler hineingeraten konnte, ist nicht nachvollziehbar. |
AW: [D2007] Warnung sinnvoll bei Methode wg. Groß-Kleinschr
Hallo,
es geht hier ja auch um den c++-Complier, der ev. mit den "falsch" geschriebenen Destroy Probleme bekommen könnte. Wo ist jetzt das Problem Destroy so zu schreiben, wie es der Compiler haben will? Ja, ist doof, dass sich diese Meldung nicht ausknipsen läßt. |
AW: [D2007] Warnung sinnvoll bei Methode wg. Groß-Kleinschr
C(++) ist nun mal case sensitive
|
AW: [D2007] Warnung sinnvoll bei Methode wg. Groß-Kleinschr
Wenn man multiplatform entwickelt, dann ist soeine Meldung bei jeder Platform OK, aber auch da ist es sinnlos, daß man viele C++-Warungen im Delphi nicht "ganz" einfach und allgemein (standardmäßig) in den Projektoptionen deaktivierbar hat.
Aber reine Meldungen für einen Compiler sinnlos im anderen Compiler anzuzeigen ist einfach nur schwachsinnig. Wenn man dabei vergisst, dass man (falls ich das richtig verstanden hab) im C++Builder auch Delphi-PAS einbinden kann? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:59 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