Re: Handling von Fehlern, Warnungen und Hints
Globale Variablen werden schon immer mit 0 initialisiert.
Das ist ein dokumentiertes Verhalten und wird sicher nicht in Zukunft geändert. |
Re: Handling von Fehlern, Warnungen und Hints
"Result" ist aber keine globale Variable und um die geht es hier ;-)
|
Re: Handling von Fehlern, Warnungen und Hints
Zitat:
in der Delphi Hilfe steht: Wenn Sie eine globale Variable nicht explizit initialisieren, wird sie vom Compiler zunächst auf 0 gesetzt. Lokale Variablen können bei der Deklaration nicht initialisiert werden. Sie sind nicht definiert, solange ihnen kein Wert zugewiesen wird. bei Funktionen gilt aber folgendes: in der Delphi Hilfe steht: Wenn die Ausführung einer Funktion beendet wird, bevor Result oder dem Funktionsnamen ein Wert zugewiesen wurde, ist der Rückgabewert der Funktion nicht definiert. Nach dieser Definition ist die Warnung OK. Das der Rückgabewert auch nur eine Variable ist, das steht auf einem anderen Blatt. ;-) |
Re: Handling von Fehlern, Warnungen und Hints
Zitat:
Zitat:
Result steckt in dem AX Register, welches von der Funktion, angesprungen durch JMP, gesetzt wird. Somit ist der Rückgabewert definiert. Aber das kann Delphi natürlich nicht erkennen. Daher ist die Warnung semantisch falsch. |
Re: Handling von Fehlern, Warnungen und Hints
Hallo,
ich habe zwar in meinen normalen Programmen auch keine Warnungen, aber wenn jemand eine Idee hat wie man die Fehler abstellen kann die unter Struktur angezeigt werden. In einigen Programmen arbeite ich mit OLE-Automation späte Bindung. z.B. :
Delphi-Quellcode:
Dann werden unter Struktur 2 Fehler angezeigt:
OleInstanc.ActiveWorkbook.Close (saveChanges:=True, FileName:=strName);
Nicht deklarierter Bezeichner ‚saveChanges’ in Zeile 3040 Nicht deklarierter Bezeichner ‚FileName’ in Zeile 3040 Die kann weder mit HINT noch mit WARNINGS abstellen. Bis bald Chemiker |
Re: Handling von Fehlern, Warnungen und Hints
Ich glaube, wenn du ein neues Thema aufmachst mit deine Frage, dann können dir sicher mehr Leute helfen.
|
Re: Handling von Fehlern, Warnungen und Hints
Hallo Dezipaitor,
Zitat:
Bis bald Chemiker |
Re: Handling von Fehlern, Warnungen und Hints
Ah ok. Da hab ich die lange Tradition von Missverständnissen nur vortgeführt :mrgreen:
|
Re: Handling von Fehlern, Warnungen und Hints
Zitat:
Wenn der Compiler einen Fehler ausgibt, dann kann das Projekt nicht erstellt werden. Denn ErrorInsight einen Fehler ausgibt und der Compiler trotzdem kompilieren kann, dann liegt ErrorInsight falsch. :stupid: Das wäre dann einen Eintrag in dem BugTracking Tool von CodeGear wert. ( http://qc.codegear.com ) und hat mit den hier beschriebenen Problem eigentlich nichts zu tun. ps: Das soll übrigens nicht als Beschwerde, sondern als Erklärung verstanden werden. Ich freue mich über jeden konstruktiven Beitrag im Forum, und dazu zählt er auf jeden Fall. |
Re: Handling von Fehlern, Warnungen und Hints
Zitat:
Sorry, aber wer zu faul ist, "Result :=" oder "Funktionsname :=" in seine Funktion zu schreiben, der hat nichts anderes als die entsprechende Warnung verdient. :evil: Ebenso gefährlich finde ich, das es überhaupt die Möglichkeit gibt, Warnungen für ein gesamtes Projekt zu deaktivieren. Nur weil die Warnungen im Moment unbegründet sind, darf man als verantwortungsvoller Entwickler nicht davon ausgehen, dass das auch zukünftig der Fall ist! Zitat:
Wer sagt Dir, das es nicht zukünftig einen (ge)wichtigen Grund für CodeGear gibt, das beschriebene Verhalten doch zu verändern? Mein Informatik-Lehrer hat uns förmlich eingeprügelt, anstellen von
Delphi-Quellcode:
nur
if a <= b then
Delphi-Quellcode:
zu schreiben, da man nie sicher sein kann, das sich das Verhalten des Compilers in diesem Punkt nicht doch irgendwann ändert.
if (a <= b) then
Sein Credo war damals: Im Leben ist nur eins sicher: Der Tod. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:00 Uhr. |
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