Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Error abfangen! (https://www.delphipraxis.net/10404-error-abfangen.html)

Snooze 17. Okt 2003 18:38


Error abfangen!
 
Hallo

also kurz hinweg:

mein Problem liegt darin, dass ich einem Edit-Fenster den Wert einer bestimmten Zelle einer Datenbank zuweisen möchte. Funktioniert wie erwartet auch. Nur wenn diese Zelle "leer" ist, so bekomme ich nicht einfach ein leeres Edit-Fenster, sondern ne Error-Meldung, dass er diesen Type(Null) nicht in String umwandelt kann.

Deshalb möchte ich nun vor der Zuweisung eine Bedingung stellen, aber der erste Versuch, einfach zu überprüfen, ob die Zelle ungleich '' ist, ist fehlgeschlagen.

Danke für Hilfe

Stefan Zauner

Matze 17. Okt 2003 18:40

Re: Error abfangen!
 
entweder vor der Abfrage:
Delphi-Quellcode:
if ... <> 0 then...
oder mit:
Delphi-Quellcode:
try
... //Code
except
end;

Snooze 17. Okt 2003 18:51

Re: Error abfangen!
 
danke,

das erstere klappte


beim zweiten kam zwar kein error mehr, aber das programm wurde trotzdem auf pause geschalten, ging dann bei play normal weiter


also prob ist gelöst :thuimb:


mfg Stefan

axelf98 17. Okt 2003 19:33

Re: Error abfangen!
 
Bei Version 2 kommt der Fehler nur während man mit Delphi debugged... Wenn man die Exe-Datei ausführt kommt keine Meldung! :idea:

Matze 17. Okt 2003 20:03

Re: Error abfangen!
 
Tools - DebuggerOptionen-SpracheExceptions-Bei Delphi Exceptions stoppen: Haken weg.

Snooze 18. Okt 2003 18:16

Re: Error abfangen!
 
danke für die antworten, vor allem das letzte hilft mir schneller arbeiten zu können. :coder:

habe nun wegen der vorletzten antwort mal die exe erstellt und probiert, nur die error-meldung blendet er trotzdem ein.

mal ein kurzer codeausschnitt:

Delphi-Quellcode:
if form3.table1['E1U1'] > 0 then
 edit1.Text:= form3.Table1['E1U1'];

das sollte bewirken, dass dieses fenster, wenn das Feld in der Datenbank nicht leer ist, diesen wert kriegen sollte

die error-meldung lautet:

"Could not convert variant of type (string) into type (double)"

und wenn das nicht schon alles wäre: er weist den wert natürlich auch nicht zu.


was könnte ich da noch verbessern, dass das klappt?


danke für Hilfe

Stefan Zauner

axelf98 18. Okt 2003 20:19

Re: Error abfangen!
 
bei mir kommt bei

Delphi-Quellcode:
 try
strtoint('aa');
 except
 end;
in der Exe später kein Fehler! Hast du etwa noch andere Fehler irgendwo... Setz mal Haltepunkte und schau ob du nicht noch eine Stelle findest!

axelf98 18. Okt 2003 20:24

Re: Error abfangen!
 
Wenn das auch ein String ist, kannst auch nicht damit rechnen!

Delphi-Quellcode:
if form3.table1['E1U1'] > 0 then    // Wenn form3.table[..] eine Zahl ist, dann
edit1.Text:= form3.Table1['E1U1'];  // muss hier eine Konvertierung stattfinden
                                     // edit1.Text := inttostr(form3.Table1['E1U1']);
// Wenn form3.table[..] keine Zahl ist, muss "if strtoint(form3.table1[..]) > 0" da stehen


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