Ok, I found the problem in xHarbour and just reported it to the xHarbour developers mailing list.
This is the sample. Try to input 1.25 and then press F2 twice. You will get
1.30 instead of 1.25.
- Code: Select all Expand view
#include "Inkey.ch"
FUNCTION MAIN()
LOCAL nVar := 0
PUBLIC GetList := {}
SET CONFIRM ON
SET KEY K_F2 TO CHANGEPICTURE
CLS
@ 10, 10 GET nVar;
PICTURE "@EZ 99,999.99"
READ
RETURN NIL
STATIC FUNCTION CHANGEPICTURE()
IF M -> GetList[ 1 ]:Picture = "@EZ 99,999.99"
M -> GetList[ 1 ]:Picture = "@EZ 99999.99"
ELSE
M -> GetList[ 1 ]:Picture = "@EZ 99,999.99"
ENDIF
RETURN NIL
EMG