![]() |
Fehlerhafte Verarbeitung von extended auf untersch. WinVersionen
Liebe Leute,
ich habe ein Programm geschrieben, das an vielen Stellen mit extended-Variablen arbeitet. Das funktioniert auf meinen PCs (Win7 / WinXP), auf dem PC eines Kollegen (Vista) und noch weiteren (unbek. Version) ohne Probleme. ABER: Auf manchen Systemen (in einem konkreten Fall war es Win7; weitere Systemumgebung unbekannt) funktioniert das nicht. Es kommt dann der Fehler, dass z.B. "12,22" keine gültige Gleitkommazahl sei. Wieso?!? In einem weiteren Fall (System unbek.) kam der Fehler, weil als Systemspracheinstellung nicht "DE/Deutschland" sondern "DE/Schweiz" gesetzt war. Nach dem Umstellen kam der Fehler nicht mehr. - Beim vorherigen Fall (Win7) half das jedoch nichts; auch das separate Starten im Admin-Modus brachte keine Lösung. Gibt es irgendwelche grundlegenden Systemunterschiede bei der Verarbeitung von Variablenformaten (hier extended, aber vlt. gibts auch bei anderen Formaten Probleme?), die ich bisher nie berücksichtige habe? Danke für Eure Mühe und Euch allen einen schönen Abend, frieder |
AW: Fehlerhafte Verarbeitung von extended auf untersch. WinVersionen
Es gibt einen Fehler in Windows 7 bzw. vorkonfigurierten Systemen damit, so dass trotz deutscher Spracheinstellung der Dezimalseparator falsch gesetzt ist. Auf diesen Systemen sollte es genügen, die Einstellung auf eine andere Sprache und zurück zu setzen (übernehmen zwischendurch drücken sollte schon reichen).
|
AW: Fehlerhafte Verarbeitung von extended auf untersch. WinVersionen
Ursache ist wohl der Dezimalseperator, jeder Anwender kann in seinem System den Dezimalseperator selbst festlegen. Standardmässig für D ist das Komma gesetzt, für viele andere Sprachregionen ist aber der Punkt als Trennzeichen festgelegt. Wichtig ist aber: man kann sich nie auf einen Standard verlassen, sondern muss vor jeglicher Umwandlung prüfen welches der eingestellte Dezimalseperator ist.
Weitere Informationen dazu solltest du hier im Forum über die Suchfunktion ![]() |
AW: Fehlerhafte Verarbeitung von extended auf untersch. WinVersionen
Zitat:
- Und noch was: in einem Fall hatten wir ja die Spracheinstellung geändert, hat aber nichts genutzt. Heißt das, dass der Dezimalseperator auch unabhg von der Spracheinstellung (im System) gesetzt sein kann? Danke und schöne Grüße, frieder |
AW: Fehlerhafte Verarbeitung von extended auf untersch. WinVersionen
Du könntest auch die überladene Version mit Angabe des Trenners verwenden.
|
AW: Fehlerhafte Verarbeitung von extended auf untersch. WinVersionen
Zitat:
Danke und Gruß, frieder |
AW: Fehlerhafte Verarbeitung von extended auf untersch. WinVersionen
|
AW: Fehlerhafte Verarbeitung von extended auf untersch. WinVersionen
Wenn ich richtig sehe, gibt es die überladene Version in D5 noch nicht.. Hm.
EDIT: Ich glaube, ich machs mal wieder komplizierter als es ist. Kann es gerade nicht testen, aber im Prinzip müsste ich ja einfach nur Decimalseparator bei OnCreate setzen und damit müsste alles funktionieren. - Sorry fürs lange rumfragen. Wünsche allen noch einen schönen Abend! Gruß, frieder |
AW: Fehlerhafte Verarbeitung von extended auf untersch. WinVersionen
Dann kannst du aber selber überprüfgen, was als Trenner verwendet wird und diese dann im String entsprechend tauschen
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:07 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