AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi StrToTime löst unerklärbare Exception aus
Thema durchsuchen
Ansicht
Themen-Optionen

StrToTime löst unerklärbare Exception aus

Ein Thema von easywk · begonnen am 7. Mär 2007 · letzter Beitrag vom 7. Mär 2007
 
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#3

Re: StrToTime löst unerklärbare Exception aus

  Alt 7. Mär 2007, 15:29
Zitat von easywk:
(a) Die Systemeinstellungen wie TimeSpearator, Timeformat usw. sind exakt die gleichen wie bei mir
(b) als Exception kommt "'00:00:25,570' ist keine gültige Uhrzeit"
Hi, ich würde sagen, dass Du schon auf dem richtigen Weg bist, an einer anderen Stelle sollte es gar nicht scheitern. Hast Du denn alle Lokale-Einstellungen ausgelesen? Insbesonder auch ShortTimeFormat? Ich glaube das war das Format (steht in der OH), dass zur Umwandlung tatsächlich verwendet wird (ok, gerade nachgeschaut, ist wohl doch der TimeSeperator, sorry).
Noch besser ist es aber, wenn Du Dich nie darauf verlässt, dass Du hier den richtigen Wert auf dem Rechner des Kunden vorfindest und diese Einstellungen immer setzt. Was natürlich noch bleibt ist der Dezimale-Seperator, der ist nicht überall ein Komma!

Der beste Weg ist (wie gesagt), dass Du Dich nie darauf verlässt, dass das System des Kunden eine bestimmte Einstellung besitzt. Hol Dir einfach mit GetLocaleFormatSettings die aktuellen Einstellungen und setze alle diese Einstellungen (die Du verwendest) explizit auf den richtigen Wert. Dieses veränderte Record übergibst Du dann mit an die Funktion StrToTime und dann sollte es immer ohne Probleme laufen. Teste es einfach mal, indem Du den Dezimal-Seperator und den TimeSeperator setzt.

Welche dieser Werte wirklich verwendet werden kannst Du natürlich lokal bei Dir prüfen, setze einfach mal alle Felder des Records auf einen völlig dummen Wert (z.B. '#') und änder nur die, von denen Du ausgehst, dass sie benötigt werden (also erstmal nur TimeSeperator). Klappt dann die Umwandlung, dann liegt das Problem wirklich woanders, scheiterst Du aber auch, dann wird eine der anderen Einstellungen ebenfalls nötig sein (z.B. der schon sooft erwähnte Dezimal-Seperator).

Gruß Der Unwissende
  Mit Zitat antworten Zitat
 


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:49 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