AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Fehlermeldung: 1.1.2013 ist kein gültiges Datum
Thema durchsuchen
Ansicht
Themen-Optionen

Fehlermeldung: 1.1.2013 ist kein gültiges Datum

Ein Thema von Lemmy · begonnen am 11. Jun 2013 · letzter Beitrag vom 11. Jun 2013
Antwort Antwort
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#1

Fehlermeldung: 1.1.2013 ist kein gültiges Datum

  Alt 11. Jun 2013, 10:31
Delphi-Version: 7
Hallo,

habe bei mir in einem Projekt folgenden Code:

Delphi-Quellcode:
var Temp: TDateTime;
...
begin
...
  Temp := EncodeDate(Jahr,Monat,Tag);
...
in dieser Zeile tritt bei einem Anwender (und nur bei dem) der Fehler auf:

EConvertError: '01.01.2013' ist kein gültiges Datum

OS ist WIn7 x64. Das Programm läuft aber (seit Jahren) auf anderen WIn7 x64 ohne Probleme. Auf anderen Rechnern (auch mit Win7) des Anwenders läuft die Software auch ohne Probleme.

Ich habe jetzt aktuell keinerlei Idee was denn eigentlich das Problem ist. Erst dachte ich an die Systemeinstellungen, aber EncodeDate verwendet doch diese Einstellungen. Hat jemand von Euch ne Idee?

Grüße
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.254 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#2

AW: Fehlermeldung: 1.1.2013 ist kein gültiges Datum

  Alt 11. Jun 2013, 10:35
ist ein beliebtes Windows 7 Problem, wenn es vorinstalliert ist.

Das steht intern irgendwie auf Englisch wenn man aber unter Regions und Spracheinstellungen schaut, sieht man da oft das es auf Deutsch eingestellt ist

Lösung: einmal auf Englisch stellen Übernehmen und schließen und dann wieder auf Deutsch stellen und schon geht es
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.142 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Fehlermeldung: 1.1.2013 ist kein gültiges Datum

  Alt 11. Jun 2013, 11:06
ist ein beliebtes Windows 7 Problem, wenn es vorinstalliert ist.

Das steht intern irgendwie auf Englisch wenn man aber unter Regions und Spracheinstellungen schaut, sieht man da oft das es auf Deutsch eingestellt ist

Lösung: einmal auf Englisch stellen Übernehmen und schließen und dann wieder auf Deutsch stellen und schon geht es
Und das sollen alle User auch machen? Setzt doch einfach die Format-Settings richtig beim Programmstart.

Mavarik
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.254 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#4

AW: Fehlermeldung: 1.1.2013 ist kein gültiges Datum

  Alt 11. Jun 2013, 11:17
Nö sicher nicht, die Formatsetting sollte man i.d.R. nicht umschalten.

Das obige Problem ist ein beliebter WIN7 Bug aus der Systembuilderversion, welches man auf dem und auf dem zweiten Blick nicht versteht! Erst wenn man sich die Formatierungssetting anschaut, kommt man dem Problem näher, warum der 1.1.2013 kein Datum ist!

Ich habe das so gelöst, das ich den beliebten Befehl aus der Sysutil StrtoDate umgeschrieben habe, so das er immer geht und keine dummen Konvertierungsfehlermeldungen mehr bringt

Das gilt auch für andere dummen Meldungen zum Thema Konvertierung und welcher Depp hat die überhaupt programmiert bei Borland (das kommt noch aus dieser Zeit)

Geändert von arnof (11. Jun 2013 um 11:34 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#5

AW: Fehlermeldung: 1.1.2013 ist kein gültiges Datum

  Alt 11. Jun 2013, 11:26
Man könnte aber stattdessen auch die überladene Version verwenden, bei der man die FormatSettings angeben kann.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: Fehlermeldung: 1.1.2013 ist kein gültiges Datum

  Alt 11. Jun 2013, 11:29
Und das sollen alle User auch machen? Setzt doch einfach die Format-Settings richtig beim Programmstart.
???? Warum soll ich zum Geier die FOrmat-Settings setzen? Das weiß doch der Anwender besser, welches Format er wo sehen will....


Nachtrag: Der Tipp mit den Ländereinstellungen umstellen hat funktioniert. Danke!

Geändert von Lemmy (11. Jun 2013 um 11:42 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von pustekuchen
pustekuchen

Registriert seit: 27. Aug 2010
265 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Fehlermeldung: 1.1.2013 ist kein gültiges Datum

  Alt 11. Jun 2013, 11:38
Vielleicht helfen dir diese Methoden weiter:

Delphi-Quellcode:
GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT, formatSettings);
TryEncodeDate(Jahr,Monat,Tag);
Delphi programming is awesome.
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#8

AW: Fehlermeldung: 1.1.2013 ist kein gültiges Datum

  Alt 11. Jun 2013, 12:54
Das obige Problem ist ein beliebter WIN7 Bug aus der Systembuilderversion, welches man auf dem und auf dem zweiten Blick nicht versteht!
Das kann ich so auch bestätigen.
Das Datumsformat ist innerhalb von Windows inkonsistent gespeichert.
Daher bekommen nicht nur Delphi-Programme sondern auch Programme aus anderen Compilern Schwierigkeiten.
Die richtige Abhilfe ist daher das ursprüngliche Problem zu beheben.

Sinnvoll wäre es beim Programmstart das Datumsformat auf unterschiedliche Weise abzufragen und bei einem Unterschied Alarm zu schlagen.
Leider ist es so, dass sobald man den Trick mit dem Umstellen auf Englisch und wieder zurück vorgenommen hat, man den fehlerhaften Zustand nicht mehr reproduzieren kann.
Daher ist es etwas schwierig dem Problem auf den Grund zu gehen.
fork me on Github
  Mit Zitat antworten Zitat
Antwort Antwort


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 05:13 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