AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Fehlerhafte Verarbeitung von extended auf untersch. WinVersionen
Thema durchsuchen
Ansicht
Themen-Optionen

Fehlerhafte Verarbeitung von extended auf untersch. WinVersionen

Ein Thema von frieder2008 · begonnen am 12. Okt 2011 · letzter Beitrag vom 12. Okt 2011
Antwort Antwort
frieder2008

Registriert seit: 28. Feb 2009
78 Beiträge
 
#1

Fehlerhafte Verarbeitung von extended auf untersch. WinVersionen

  Alt 12. Okt 2011, 17:17
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
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Fehlerhafte Verarbeitung von extended auf untersch. WinVersionen

  Alt 12. Okt 2011, 17:20
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).
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
bernerbaer
(Gast)

n/a Beiträge
 
#3

AW: Fehlerhafte Verarbeitung von extended auf untersch. WinVersionen

  Alt 12. Okt 2011, 17:28
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 SuchfunktionHier im Forum suchendezimalseperator finden
  Mit Zitat antworten Zitat
frieder2008

Registriert seit: 28. Feb 2009
78 Beiträge
 
#4

AW: Fehlerhafte Verarbeitung von extended auf untersch. WinVersionen

  Alt 12. Okt 2011, 17:59
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 SuchfunktionHier im Forum suchendezimalseperator finden
Danke für die Hinweise, das ist ja echt ärgerlich. Kann es sein, dass das Problem ausschließlich bei strtofloat auftritt, oder muss ich noch andere (unbekannte) Minen fürchten?

- 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
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Fehlerhafte Verarbeitung von extended auf untersch. WinVersionen

  Alt 12. Okt 2011, 18:00
Du könntest auch die überladene Version mit Angabe des Trenners verwenden.
Markus Kinzler
  Mit Zitat antworten Zitat
frieder2008

Registriert seit: 28. Feb 2009
78 Beiträge
 
#6

AW: Fehlerhafte Verarbeitung von extended auf untersch. WinVersionen

  Alt 12. Okt 2011, 18:02
Du könntest auch die überladene Version mit Angabe des Trenners verwenden.
Zufällig einen Link/die Funktion zur Hand? - Wenn ich suche, finde ich alles Mögliche ("keine überladene Version von.."), nur nicht das Gesuchte..

Danke und Gruß, frieder
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Fehlerhafte Verarbeitung von extended auf untersch. WinVersionen

  Alt 12. Okt 2011, 18:04
http://docwiki.embarcadero.com/VCL/d...ils.StrToFloat
Markus Kinzler
  Mit Zitat antworten Zitat
frieder2008

Registriert seit: 28. Feb 2009
78 Beiträge
 
#8

AW: Fehlerhafte Verarbeitung von extended auf untersch. WinVersionen

  Alt 12. Okt 2011, 18:58
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

Geändert von frieder2008 (12. Okt 2011 um 19:04 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Fehlerhafte Verarbeitung von extended auf untersch. WinVersionen

  Alt 12. Okt 2011, 20:18
Dann kannst du aber selber überprüfgen, was als Trenner verwendet wird und diese dann im String entsprechend tauschen
Markus Kinzler
  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 17:32 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