Hi Alexander,
dann will ich das Problem mal erklären. Wie Robert dir schon gesagt hat, solltest du die Edits nicht im
OI mit den Gleitkommawerten füllen. Der Unterschied ist leicht erklärt. Hast du ein deutsches Windows, so sieht eine gültige Gleitkommazahl so aus: 1,222. Bei einem englischen Windows ist es jedoch anders, und zwar 1.2222
Dies hängt vom DecimalSeparator ab, der normalerweise vom System übernommen wird.
Um zum Problem zurückzukommen, du gibst in ein Edit 1,222 ein, was auf einem deutschen Windows ohne Probleme funktioniert. Handelt es sich hingegen um ein englisches, so ist die Zahl 1,222 keine gültige Fließkommazahl, und zwar wegen dem Beistrich.
Befolgst du allerdings Roberts Tipp (Edit1.Text := FloatToStr(1.222)), so wird die Zahl erst zur Laufzeit in einen String umgewandelt, und dabei wird eben der DecimalSeparator des Systems verwendet, was eine gültige Zahl ergibt.
Willst du die Edits aber weiterhin im
OI füllen, so musst du im OnCreate deines Forms
DecimalSeparator := ',';
(das meinte ich auch mit Julius' Tipp) schreiben, damit 1,222 von einem englischen System nicht als ungültige Zahl betrachtet wird.
Noch eine kleine Erklärung zum DecimalSeparator:
Meine Hilfe schreibt:
DecimalSeparator is the character used to separate the integer part from the fractional part of a number
Bei einem deutschen System ist der Wert der Variable ',', bei einem englischen hingegen '.'
Und genau das bringt diese Probleme hervor.
Ich empfehle aber trotzdem, die Edits erst zur Laufzeit zu füllen, weil eine andere Darstellung von Zahlen als der Standard einige Benutzer verwirren könnte.
Greetz
alcaeus