AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Rückgabewert der Funktion '<Element>' könnte undefiniert sei
Thema durchsuchen
Ansicht
Themen-Optionen

Rückgabewert der Funktion '<Element>' könnte undefiniert sei

Ein Thema von Karstadt · begonnen am 16. Okt 2006 · letzter Beitrag vom 16. Okt 2006
Antwort Antwort
Seite 1 von 2  1 2      
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#1

Rückgabewert der Funktion '<Element>' könnte undefinie

  Alt 16. Okt 2006, 08:42
hallo. Habe viele Warnungen in meinen Projekt. Muss ich IMMER auf solche Warnungen achten? Kann man das irgendwo abschalten, das mir alle Ereignisse angezeigt werden aber nicht die Warnungen?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Rückgabewert der Funktion '<Element>' könnte undef

  Alt 16. Okt 2006, 08:58
Einfach alle Variablen sauber initialisieren, dann treten keine Warungen mehr auf
Markus Kinzler
  Mit Zitat antworten Zitat
hsg

Registriert seit: 24. Apr 2006
Ort: Wustermark
354 Beiträge
 
Delphi 10.3 Rio
 
#3

Re: Rückgabewert der Funktion '<Element>' könnte undef

  Alt 16. Okt 2006, 09:03
Warnungen sollte man sehr ernst nehmen, da sie dich auf gefährliche Stellen in deinem Source hinweisen.
Mich haben die Warnungen schon vor so manche böse Überraschung bewahrt: Eine nicht initialisierte Variable (z.B. eine Stringlist, die nicht erzeugt wurde und trotzdem verwendet wird, wird dir auf jeden Fall eine AV liefern)
Undefinierte Rückgabewerte von Funktionen können deine Berechnungen ordentlich durcheinander würfeln.
Solltest du die Rückgabewerte gar nicht verwenden, hast du einen Fehler in deinem Design, also solche Stellen dann noch mal überdenken.
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#4

Re: Rückgabewert der Funktion '<Element>' könnte undef

  Alt 16. Okt 2006, 09:12
Zitat von hsg:
Solltest du die Rückgabewerte gar nicht verwenden, hast du einen Fehler in deinem Design, also solche Stellen dann noch mal überdenken.
Oder als procedure schreiben, wenn es keinen Rückgabewert braucht.

Ein häufiger Fehler, Beispiel:
Delphi-Quellcode:
function Test(Value:Byte):Boolean;
   var temp:Byte;
begin
   try
      temp:=128 div Value;
      Result:=(temp>64);
   except
   end;
end;
Wenn Value 0 ist, ist der Rückgabewert nicht definiert, kann also True oder False sein.
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#5

Re: Rückgabewert der Funktion '<Element>' könnte undef

  Alt 16. Okt 2006, 09:22
...werde es überprüfen und ändern. Momentan habe ich sehr viele solche Warnungen. Bis jetzt habe ich das immer ignoriert. (Es gab auch keine AV). Werde ich mich darum kümmern.
  Mit Zitat antworten Zitat
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#6

Re: Rückgabewert der Funktion '<Element>' könnte undef

  Alt 16. Okt 2006, 09:28
Delphi-Quellcode:
Function GibSchadensFarbe(Farbnr:Integer):Integer;
var Farbe: String;
begin
  case Farbnr of
    0: Farbe := 'clBlue';
    1: Farbe := 'clRed';
    2: Farbe := 'clWhite';
  250: Farbe := 'clNone';
  end;
end;
Hier ist eine Beispiel. Ich rufe diese Funktion immer mit Werten 0-250. Das sind feste Werte und die können nicht auf einmal -1 oder > 250 sein. Nun bekomme ich an diese Stelle ein Warnung. Ich frage mich, was würde die warnung an diese Stelle bedeuten, da ich ganz ganau weis, das es nicht zu eine AV kommen kann. Da die Farbnr immer zwischen 0 und 250 befindet... (die Funktion wurde verkürzt in diesen Beispiel)
  Mit Zitat antworten Zitat
diComm

Registriert seit: 26. Jan 2005
68 Beiträge
 
#7

Re: Rückgabewert der Funktion '<Element>' könnte undef

  Alt 16. Okt 2006, 09:34
Du definierst hier

Function GibSchadensFarbe(Farbnr:Integer):Integer; das du einen Integer zurückgibst, tust das aber im Code nicht. Eine Funktion sollte immer ein Result haben, ansonsten mach eine procedure draus.
  Mit Zitat antworten Zitat
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#8

Re: Rückgabewert der Funktion '<Element>' könnte undef

  Alt 16. Okt 2006, 09:37
..stimmt. Bei funktionen kann man etweder die Funktionname oder Result verwenden um den Rückgabewert zu übergeben. Aber dieses Beispiel ist sehr schlecht sehe ich jetzt erst.. Gut. Dann mache ich mich an die Arbeite
  Mit Zitat antworten Zitat
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#9

Re: Rückgabewert der Funktion '<Element>' könnte undef

  Alt 16. Okt 2006, 09:40
wie soll ich mit diese Warnung umgehen?

Unit '<Element>' ist plattformspezifisch (FileCtrl)
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#10

Re: Rückgabewert der Funktion '<Element>' könnte undef

  Alt 16. Okt 2006, 09:42
Dies Beispiel ist nicht schlecht, denn:

Delphi-Quellcode:
Function GibSchadensFarbe(Farbnr:Integer):Integer;
begin
  case Farbnr of
    0: Result := 'clBlue';
    1: Result := 'clRed';
    2: Result := 'clWhite';
  250: Result := 'clNone';
  else Result := 'clNone'; // <- Das hast Du vergessen, damit sicher ein gültiger Wert zurück gegeben wird.
  end;
end;
Edit: Roter Kasten, wo warst Du?
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:04 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