Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi EConvertError (https://www.delphipraxis.net/74912-econverterror.html)

Counter909 10. Aug 2006 19:57


EConvertError
 
moin



ich habe eine frage, bei mir kommt immer folgender Fehler:

Im Projekt ***.exe ist eine Exception der Klasse EConvertError aufgetreten. Meldung: ''' ist kein gültiger Gleitkommawert'. Prozess wurde angehalten. Mit einzelne Anweisung oder Start fortsetzen.


jetzt hab ich hier auch schon rumgesucht, aber wurde nicht wirklich draus schlau, wenn ich es auf mein projekt beziehe, hier meine /inToStr/

begin

a := strtoint(edit1.Text);
b := strtoint(edit2.Text);
c := strtoint(edit3.Text);
d := strtoint(edit4.Text);
e := strtoint(edit5.Text);
f := strtoint(edit6.Text);
g := strtoint(edit7.Text);
h := strtoint(edit8.Text);
i := strtoint(edit9.Text);
j := strtoint(edit10.Text);
k := strtoint(edit11.Text);

Panel8.Caption := 'Addition: '+ inttostr(ins) +' ' ;
end;



so dann kommt der oben genannten fehler, wenn ich dann einpaar wegnehme..zum beispiel c,d,e,f oder so, dann gehts wieder und wenn ich schritt für schritt einen dazu ergänze, kommt irgendwann wieder der fehler....

brauch unbedingt hilfe

dank

mfg
counter

Muetze1 10. Aug 2006 20:11

Re: EConvertError
 
Wenn auch nur ein Editfeld leer ist, dann kommt diese Meldung, da ein leerer String nunmal keine gültige Zahl ist.

Counter909 10. Aug 2006 20:14

Re: EConvertError
 
aber eigentlich sind die Edits alle richtig zugewiesen....habe alle nochmal getestet und müsste gehen
muss an was anderes liegen :-(

mkinzler 10. Aug 2006 20:18

Re: EConvertError
 
Verwende besser TryStrToInt. Bist du sicher, daß in allen Edits Integer stehen?

Balu der Bär 10. Aug 2006 20:19

Re: EConvertError
 
Zitat:

Meldung: ''' ist kein gültiger Gleitkommawert'.
Ein Integer ist aber kein Gleitkommawert, es kann also nicht in den Edits und dem StrToInt liegen. Wo genau springt denn der Debugger hin wenn der Fehler kommt? Selbst wenn also ein Kommawert in einem Edit stehen würde würde diese Meldung nicht kommen.

Counter909 10. Aug 2006 20:24

Re: EConvertError
 
also eigentlich verwende ich ja keine gleitkommazahlen...das ist ja das merkwürdige und der fehler tritt erst aus wenn ich den debugger starte und dann Zahlen in meiner anwendung eintrage...


var Form1: TForm1;
a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,ins,teilab: integer ;

implementation


{$R *.dfm}


procedure TForm1.Button1Click(Sender: TObject);

begin

a := strtoint(edit1.Text);

b := strtoint(edit2.Text);

...............

Balu der Bär 10. Aug 2006 20:26

Re: EConvertError
 
Und bei welcher Codezeile bleibt der Debugger stehen nach der Fehlermeldung? Welche Zeile verursacht also den Fehler?

Counter909 10. Aug 2006 20:28

Re: EConvertError
 
das sehe ich ja nicht, weil das erst kommt, nachdem ich die anwendung gestartet habe....


http://img47.imageshack.us/img47/1452/errortc3.jpg

Counter909 10. Aug 2006 20:43

Re: EConvertError
 
ah perfekt ich hab den fehler gefunden....

mkinzler 10. Aug 2006 21:00

Re: EConvertError
 
Zitat:

das sehe ich ja nicht, weil das erst kommt, nachdem ich die anwendung gestartet habe....
Dann starte sie doch mal aus der IDE.

Balu der Bär 10. Aug 2006 22:24

Re: EConvertError
 
Zitat:

Zitat von Counter909
ah perfekt ich hab den fehler gefunden....

Wäre sehr freundlich wenn du uns jetzt noch aufklären würdest. :thumb:

Muetze1 10. Aug 2006 23:39

Re: EConvertError
 
Zitat:

Zitat von Balu der Bär
Zitat:

Meldung: ''' ist kein gültiger Gleitkommawert'.
Ein Integer ist aber kein Gleitkommawert, ...

Das hatte ich auch gesehen und lange gegrübelt, aber meinen Post trotzdem geschrieben, da die Exceptionklasse nunmal EConvertError ist, und diese wird auch bei ungültiger Ganzzahlumwandlung aufgerufen. Der Screenshot zum Schluss beweist sogar meine richtige Eingebung, da diese von einem ungütligen Integerwert spricht. Daher hatte das schon seine Bewandnis, dass ich dies trotzdem geschrieben hatte...

Counter909 11. Aug 2006 01:35

Re: EConvertError
 
also ich erkläre es euch :D

es war einfach meine dummheit ^^ umso mehr Edits ich eingetragen habe, und dann immer wieder
getestet habe, habe ich nicht alle Felder ausgefüllt sondern auch mal eins wohl i-wie ausgelasen
ja und dann ist klar, dass er mit inttostr eine "nicht vorhanden Zahl" umwandeln kann !!!
ach ja, bin noch einübler anfäner :wall: aber ich lerne ja
sowas lernt man wohl auch nur aus erfahrung

mfg
counter

mkinzler 11. Aug 2006 06:28

Re: EConvertError
 
Deshalb würde ich wie beschrieben entweder die Umwandlung durch Try.. machen.

DennisHB 11. Aug 2006 09:14

Re: EConvertError
 
Oder

StrToIntDef( TextZahl, DefaultInteger_bei_nicht_gelingen);


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 Uhr.

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