Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Tutorials und Kurse (https://www.delphipraxis.net/36-tutorials-und-kurse/)
-   -   Delphi Tutorial: Warnungen und Hinweise vom Delphi Compiler (https://www.delphipraxis.net/96921-tutorial-warnungen-und-hinweise-vom-delphi-compiler.html)

MaBuSE 2. Aug 2007 17:38

Re: Tutorial: Warnungen und Hinweise vom Delphi Compiler
 
Hallo Leute,
ich habe das Tutorial noch mal überarbeitet und ergänzt. (1. Beitrag)

Ich denke so wird es bleiben.

Viel Spaß
beim Lesen

MaBuSE 2. Aug 2007 18:01

Re: Tutorial: Warnungen und Hinweise vom Delphi Compiler
 
Mist die 24h zum Editieren sind um :-(

Zitat:

Zitat von MaBuSE
Oft sieht man auch folgendes:
Delphi-Quellcode:
...
procedure test;
var
  o: TObject;
begin
  try
    o := TObject.Create;
    machWasMit(o);
  finally
    o.Free;
  end;
end;
...
Hier gibt der Delphi Compiler auch eine Warnung bei der o.Free Zeile aus: Variable 'o' ist möglicherweise nicht initialisiert worden.
Das ist genau das Gleiche.
So soll try finally nicht verwendet werden! Das macht keinen Sinn. Falls in "TObject.Create;" oder "MachWasMit(o);" ein Fehler auftritt, fängt try...finally die Exception, und springt in den finally Block. Es werden nun die Befehle zwischen finally und end ausgeführt. Beim Erreichen des end; wird dann die gefangene Exception ausgelöst. Und die Prozedur bricht an der Stelle ab.
Richtig ist folgendes Beispiel (gleiches Verhalten, aber keine Warnung).
Delphi-Quellcode:
...
procedure test;
var
  o: TObject;
begin
  o := Tobject.Create;
  try
    machWasMit(o);
  finally
    o.Free;
  end;
end;
...
Das kann man auch noch mal im Exceptional exceptions im Developer Network von CodeGear nachlesen.

Ich wollte zu diesem Thema noch einen Link angeben, in dem das noch mal beschrieben wird.
(Ich musste erst nochmal meine Bookmarks duchsuchen)

Es ist der Blog von Allen Bauer. Er schrieb am 03.11.2006 einen interesannten Artikel zu genau diesem Thema:
http://blogs.codegear.com/abauer/arc.../03/28916.aspx

Viel Spaß beim Lesen.

MaBuSE 19. Sep 2008 12:46

Re: Tutorial: Warnungen und Hinweise vom Delphi Compiler
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von MaBuSE
Tutorial
Warnungen und Hinweise vom Delphi Compiler

Als Ergänzung zu oben genannten Tutorial gibt es hier eine *.csv Datei (lässt sich mit Excel als Tabelle öffnen) mit allen vom Delphi 2007 für Win32 unterstützten Compilermeldungen.

Es gibt 5 unterschiedliche Gruppen, die 4 aus dem Tutorial oben und eine weitere:
  • E = Error -> Fehler
    F = Fatal -> Fehler, die zu einem sofortigen Abbruch führen
    H = Hint -> Hinweis
    W = Warning -> Warnung

    und

    x = Diese Meldung wird mehrfach verwendet.
z.B. 1054 ist die benutzerdefinierte Meldung (s.o.)

Man kann mit {$message warn 'Test'} eine W1054 mit dem Text "Test" erstellen.
Mit {$message hint 'Test'} wird eine H1054 erstellt.

Die Meldungen sind string in der Format-Funktion gültigen Schreibweise abgespeichert (also mit Platzhaltern z.B. %s).

Die Meldung x1054 ist z.B. nur als "%s" definiert, da ja dort ausschließlich der Text in der $message Anweisung ausgegeben wird.

x000x 27. Jun 2013 11:21

AW: Tutorial: Warnungen und Hinweise vom Delphi Compiler
 
Hallo MaBuSE,

super hilfreiches Tutorial - danke dafür.

Kennt jemand eine einfache Möglichkeit, nur die Warnungen/Hinweise die von externen Komponenten stammen, abzuschalten?

Hintergrund: Wir haben hier ein großes Projekt in dem wir auch viele Fremdkomponenten verwenden (QuickReport, TMS usw.). Problem ist nun, dass diese so zahlreiche Warnungen/Hinweise erzeugen, dass es nach dem Kompilieren schwer wird, Warnungen / Hinweise aus unserem Quelltext zu erkennen.

jbg 27. Jun 2013 11:41

AW: Tutorial: Warnungen und Hinweise vom Delphi Compiler
 
Zitat:

Zitat von x000x (Beitrag 1219860)
Kennt jemand eine einfache Möglichkeit, nur die Warnungen/Hinweise die von externen Komponenten stammen, abzuschalten?

Vorkompilieren und im eigenen Projekt nur noch den Pfad mit den DCU Dateien in den Bibliothekspfad (SearchPath) und die Quellcodedateien in den Suchpfad (BrowsingPath) eintragen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:46 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz