Yes, I see that something funny is going on. It looks like whenever you define a currency value directly in the property sheet, the value is shown and treated as currency, but in fact it is reported to be character. I tried to leave the textbox value at default, and instead created a variable in the command window, and set the controlsource to this variable, the wait window showed the correct vartype. Personally I can not see any situation where I would ever need to give a textbox a fixed currency value. But of course you may have other needs. A workaround is to set the value to =ntom(0).
>>Why is Value a string? It's a currency value. And SET POINT TO only specifies which value you SHOW as the decimal separator.
>
>When you write a literal number/currency the decimal point is SET("POINT") or "." ?
>
>try 20'' job:
>
>on command;
> SET POINT TO "?"
>- Form designer
>- add a textbox
>- select textbox
>- on textbox gotfocus
>WAIT WINDOW VARTYPE(THIS.Value)
>on command:
>ASELOBJ(ax)
>ax[1].value=$1
>? VARTYPE(ax[1].value)
>
>Now run
>!!!! on the window message you see a C
>