( fields day 30.04.2001 )

needs ShowForm forms
           
api: FldGetTextLength
api: FldGetTextPtr
: field> ( c-addr fieldID -- n )
   FormObjectPtr dup
   FldGetTextLength 
   dup >r swap
   FldGetTextPtr >rel
   rot rot cmove r>
;

api: FldGetTextHandle
api: FldSetTextHandle
api: MemHandleNew
api: FldDrawField
api: MemHandleFree
: >field ( c-addr u fieldID -- )
   FormObjectPtr dup
   FldGetTextHandle >r >r
   dup 1+ MemHandleNew dup >r
   MemHandleLock >rel
   2dup + 0 swap c!
   swap cmove
   r@ MemHandleUnlock throw
   r> r@ swap FldSetTextHandle
   r> FldDrawField
   r> ?dup 
   if MemHandleFree throw then
;