![]() |
deprecated wird nicht als Warnung angezeigt
Hallo Zusammen,
ich wollte mal nachfragen, ob jemand von euch auch dieses Problem (Feature) des Compilers auch schon mal aufgefallen ist und wie man dies umgehen kann. Folgendes Szenario:
Delphi-Quellcode:
In der zweiten Unit Unit2 sieht die Prozedure bla wie folgt aus:
...
implementation uses Unit2; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin Unit2.bla; // hier zeigt der Compiler KEINE deprecated Warnung an end; procedure TForm1.Button2Click(Sender: TObject); begin bla; // hier zeigt der Compiler eine deprecated Warnung an end; ...
Delphi-Quellcode:
Wenn ich nun die Sourcen compiliere, dann erscheint nur bei procedure TForm1.Button2Click(Sender: TObject); eine Warnung an.
unit Unit2 deprecated;
interface procedure bla; deprecated; implementation procedure bla; begin // macht nix end; end. Nun meine Frage: Warum zeigt er diese Warnung nicht bei TForm1.Button1Click(Sender: TObject); an? Hinweis: Ich benutze Delphi 2006 |
Re: deprecated wird nicht als Warnung angezeigt
Ist in D2007 auch so. Das würde ich prinzipiell auch als Bug ansehen, allerdings ist das schon ein Grenzfall. Wenn schon die ganze Unit2 deprecated ist, wieso deprezierst :) du zusätzlich noch eine Routine in selbiger Unit?
|
Re: deprecated wird nicht als Warnung angezeigt
Dies sollte natürlich nur ein Beispiel sein. Ich hätte auch noch die Funktion hurz und blaeh :wink: erstellen können und diese dann als nicht deprecated markieren können.
Gruß |
Re: deprecated wird nicht als Warnung angezeigt
Zitat:
Anders ausgedrückt: Für den Aufruf von bla in Button2Click aus deinem Ursprungspost kriegst du ja zwei Warnungen: eine, dass die enthaltende Unit deprecated ist, und eine, dass die Routine selbst deprecated ist. |
Re: deprecated wird nicht als Warnung angezeigt
Damit hast du natürlich recht.
Zitat:
Zitat:
Wie sieht es denn bei neueren Version von Delphi aus? Hat da jemand schon Erfahrungen gemacht |
Re: deprecated wird nicht als Warnung angezeigt
Ich halte das eher für eine Inkonsequenz. Immerhin warnt der Compiler ja beim "normalen" Aufruf der Prozedur Bla, das diese veraltet ist. Warum dann also warnt er dann nicht auch, wenn die Prozedur Bla über
Delphi-Quellcode:
aufgerufen wird? :gruebel:
Unit2.Bla
Mach doch einfach dazu mal einen Eintrag der QC von Embra und schau, was die Jungs dort dazu sagen :wink: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:02 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