Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Mal Warnung - Mal Hinweis (https://www.delphipraxis.net/86526-mal-warnung-mal-hinweis.html)

backdraft 15. Feb 2007 10:54


Mal Warnung - Mal Hinweis
 
Hallo zusammen,
ich weiss nicht, was ich da falsch mache

Delphi-Quellcode:
 try
  wbrutto := StrToFloat(slbrutto[ibrutto]);
 except
  continue;
 end;

 IF wbrutto = wmwst1 THEN continue;
Wenn ich das so mache bekomme ich immer den Hinweis, dass wbrutto ggf nicht intialisiert wurde (Zeile IF wbrutto = wmwst1)

Wenn ich vor das "try" ein "wbrutto := 0;" mache, bekomm ich ne Warnung "Auf wbrutto zugewiesender Wert wird niemals benutzt"

Ist kein Wirkliches Problem, was sich auf das Programm auswirkt, aber ich hätte gerne die Meldung nicht beim Kompilieren, weil dann die wichtigen Meldungen unter gehen

Weiss jemand Rat?

SirThornberry 15. Feb 2007 11:01

Re: Mal Warnung - Mal Hinweis
 
du solltest im except dem der Variablen auch einen Wert zuweisen.

backdraft 15. Feb 2007 11:04

Re: Mal Warnung - Mal Hinweis
 
geht auch nicht, gleiche meldung, dass der wert niemals benutzt wird

Luckie 15. Feb 2007 11:06

Re: Mal Warnung - Mal Hinweis
 
Nun ja, wenn es zu einer Exception kommt ist nach dem try-except-Block wbrutto eben undefiniert bzw. nicht initialisiert. Und wenn du vor dem try-except-Block wbrutto mit 0 initialisierst, dann ist die Zeile überflüssig, weil ihr im im try-except-Block ein Wert zugewiesen wird.

Nimm die if-Abfrage mit in den try-except-Block oder versuch ohne ihn auszukommen, in dem du verhinderst, dass überhaupt fehlerhafte Eingaben möglich sind.

Hawkeye219 15. Feb 2007 11:14

Re: Mal Warnung - Mal Hinweis
 
Hallo,

man kann die Meldung auch dadurch unterdrücken, daß man die Initialisierung vor die Schleife setzt:

Delphi-Quellcode:
wbrutto := 0.0;
repeat // while, for,...
  try
    wbrutto := StrToFloat(slbrutto[ibrutto]);
  except
    continue;
  end;

  IF wbrutto = wmwst1 THEN continue;
  [...]
Gruß Hawkeye

backdraft 15. Feb 2007 13:11

Re: Mal Warnung - Mal Hinweis
 
Klappt, danke :-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:27 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