Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   PersoGen (https://www.delphipraxis.net/41537-persogen.html)

Ultimator 14. Sep 2005 17:45

Re: PersoGen
 
Auf die Gefahr hin, dass ich mich unbeliebt mach: Ich hab anscheinend eine ungültige ID auf meinem Perso :mrgreen:

Hab die ID genau so abgetippt, wie sie auf meinem Ausweis draufsteht, aber er sagt mir, dass die ID ungültig ist :shock:

ibp 14. Sep 2005 18:20

Re: PersoGen
 
Zitat:

Zitat von Ultimator
Auf die Gefahr hin, dass ich mich unbeliebt mach: Ich hab anscheinend eine ungültige ID auf meinem Perso :mrgreen:

d.h. du bist illegal! :shock:
... ich hab die grünen schon informiert! :mrgreen: :mrgreen:

PierreB 14. Sep 2005 18:23

Re: PersoGen
 
Zitat:

Zitat von Ultimator
Auf die Gefahr hin, dass ich mich unbeliebt mach: Ich hab anscheinend eine ungültige ID auf meinem Perso :mrgreen:

Da hier scheinbar keiner deine Nummer kennt und es bei allen anderen geht, schreib doch einfach mal deine Nummer hier in den Thread. :mrgreen:

Matze 14. Sep 2005 18:31

Re: PersoGen
 
Zitat:

Zitat von Ultimator
Hab die ID genau so abgetippt, wie sie auf meinem Ausweis draufsteht, aber er sagt mir, dass die ID ungültig ist :shock:

Meine auch, falls es die ist, die auf der Vorderseite (die mit dem Foto) ganz unten steht, also die komplette Zeile.

n0b0dy 14. Sep 2005 18:41

Re: PersoGen
 
bei mir ebenfalls ungültig... :?

shmia 14. Sep 2005 18:46

Re: PersoGen
 
Dein Exception-Handling ist unsauber/fehlerhaft!
Delphi-Quellcode:
function IsValidID(ID: string): boolean;
begin
  try
    Row1 := .....
    ..... // ***
    if not
        ((Ps1 = StrToInt(ID[10])) and
        (Ps2 = StrToInt(ID[20])) and
        (Ps3 = StrToInt(ID[28])) and
        (Ps4 = StrToInt(ID[36]))) then
      result := false
    else
      result := true;
  except
    exit
  end;
end;
Wenn nun an der Stelle, die mit *** gekennzeichnet wurde eine Exception auftritt ??
Du wirst niemals erfahren, was schiefgelaufen ist und ausserdem ein undefiniertes Result erhalten.
Korrektes Exception-Handling sieht so aus:
Delphi-Quellcode:
function IsValidID(ID: string): boolean;
begin
  try
    Row1 := .....
    ..... // ***
    if not
        ((Ps1 = StrToInt(ID[10])) and
        (Ps2 = StrToInt(ID[20])) and
        (Ps3 = StrToInt(ID[28])) and
        (Ps4 = StrToInt(ID[36]))) then
      result := false
    else
      result := true;
  except
  on E:Exception do
  begin
     E.Message := 'Fehler in IsValidID('+ID+')'#13#10+
        E.Message;
     raise;
  end;
  end;
end;
Der Aufrufer, bekommt eine recht genaue Beschreibung, was schiefgelaufen ist.
Die Exception wird nur abgefangen und erneut ausgelöst.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:46 Uhr.
Seite 3 von 3     123   

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-2025 by Thomas Breitkreuz