在JvValidateEdit中,Value属性是一个行为的Variant 设置或时,奇怪的是使用不同的Windows语言设置 得到一个漂浮。如果我自定义Windows编号格式 默认美国设置为逗号为小数,点数为数千 分隔符,然后值正确显示。例如。美国的1.23浮动是 显示为“1,23”。
但是,如果我将Windows语言更改为具有相同功能的西班牙语 格式化分配的实数现在显示不正确。 例如。 1.23值现在显示为“123”。
如果我将一个字符串分配给Text(Ed.Text:= FloatToStr(1.23)它 显示正确,但如果您尝试访问该号码,则会重新格式化。
当我浏览代码时,问题似乎正在发生 JvValidateEdit实际上开始处理它。它似乎是编译器 尝试将其转换为字符串,以便将其分配给变体但是 它做错了。不幸的是,我已经很久了 看看汇编程序,那是为了IBM 360。
如果有所不同,我正在使用XE并生成32位代码。