Autor Beitrag
darksign
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 58



BeitragVerfasst: Mi 05.08.09 11:15 
Hallo!

Ich habe ein Delphi-Programm (eigentlich eine DLL, in der die gesamte Funktionalität steckt, und die aufgerufen wird) erstellt (auf Windows XP SP3 Deutsch, Delphi 7). Darin werden einige einfache Berechnungen durchgeführt, die Ergebnisse werden in ein Log-File zur Überprüfung ausgegeben! Das Programm(bzw. die DLL) funktioniert auf meinem Rechner einwandfrei!

Nun wird das gesamte Programm in der Ukraine auf einem Rechner mit einem englischen XP+SP2 ausgeführt, und plötzlich stimmen die Berechnungen nicht mehr! Irgendwie scheint es so, als gäbe es bei ner Division oder Multiplikation oder so Probleme! Auf dem englischen Windows wurde das Dezimaltrennzeichen von "." auf "," umgestellt, das brachte jedoch keine Besserung. Kann es sein, dass es auf einem englischen BS Probleme mit Statements wie "floattostr(Variable*2)" oder "format('%0.2f',[Variable*2])" gibt (wobei "Variable" ein Double ist)?

Das komische ist: Ich habs dann zuhause auf einem Rechner mit einem englischen XP+SP3 probiert, und da funktionierte alles wunderbar?

Oder wäre es möglich, dass es größere Unterschiede zwischen SP2 und SP3 gibt, und man villeicht das neueste SP3 raufspielen sollte?

Am liebsten wärs mir, wenn ich einfach etwas beim Betriebssystem umstellen könnte, damit das Programm funktioniert!

Villeicht weiß jemand von euch eine Lösung, ich weiß echt nicht mehr weiter!

mfg und danke für eure Hilfe
NetSpider
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 123

Windows XP Pro
Delphi 7 Enterprise
BeitragVerfasst: Do 06.08.09 17:18 
Hallo darksign,

Normalerweise sollte es keine Probleme mit der Eingabe von Zahlwerten geben, denn soweit ich weiss verwenden die Funktionen FloatToStr und Format() die System-Einstellungen. Soll heissen, dein Programm sollte ohne weiteres auf deutschen als auch auf englischen Betriebssystemen laufen.

Was mich wundert ist naemlich, dass du keine Exception bekommst a la "is not a valid Integer" oder so etwas in der Richtung. Statt dessen stimmen die Berechnungen nicht mehr - aber du bekommst ein ergebnis!!!

Fuer mich hoert sich das nach logischen Fehlern im Program-Code an. Vielleicht koenntest du dein Programm hier mit anhaengen. Ich habe Windows XP SP2 und SP3 auf Englisch (auch 64Bit).

Ich koennte ja mal schaun, ob bei mir auch nur komisches Zeugs berechnet wird.

Bist du dir uebrigens sicher, dass du Eingabe-Fehler von Seiten des Users ausschliessen kannst?

LG,

Alex

_________________
Wer in die Fußstapfen anderer tritt hinterlässt keine eigenen Spuren!