![]() |
Typecast Fehler beim Auslesen eines Feldes in Excel?
Hallo,
ich möchte für eine Import-FUnktion aus einer Excel-Datei ein paar Felder auslesen. Bei einigen Feldern möchte ich nicht nur Strings einlesen, sondern auch integer-Werte oder Datumswerte. Folgendes habe ich für die Kundennummer(Integer-Wert) gemacht:
Delphi-Quellcode:
Steht im Feld für die Kundennummer kein gültiger Integerwert, sollte beim Typecast doch eine Exception geworfen werden, wodurch das Feld markiert werden soll. Aber in den "except on E: Exception..." - Bereich kommt das Programm erst gar nicht. Stattdessen wird folgender Fehler geworfen "...raised Exception class EVariantTypeCastError with message 'Could not convert variant of type (OleStr) into type (Boolean)'"
Kunde := TKunde.Erzeugen;
try Kunde.KundenNummer := Integer(Excel.Cells[Zeile, Spalte].Value); except on E: Exception do Excel.Cell[Zeile, Spalte].Interior.Color := clRed; end; Wo liegt da mein Fehler? Danke schonmal :-) |
Re: Typecast Fehler beim Auslesen eines Feldes in Excel?
Wird der o.g. Fehler auch geworfen, wenn du das Programm nicht unter der IDE startest sondern direkt vom Explorer?
|
Re: Typecast Fehler beim Auslesen eines Feldes in Excel?
Hallo!
Du hast Recht, wenn ich das Programm vom Explorer aus starte, funktioniert es wunderbar. Danke! :wall: |
Re: Typecast Fehler beim Auslesen eines Feldes in Excel?
So lange in der IDE nicht grundsätzlich eingestellt wird, dass er spezielle Exceptions ignorieren soll, zeigt er auftretene immer an, damit der Entwickler sich dieser bewusst ist. Dies Verhalten ist by-design.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:09 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-2025 by Thomas Breitkreuz