I have found a reference to StopUntil() in RPREVIEW.PRG
Antonio can say you where this function is located.
The rest is composed of functions made by me. You must
create your own equivalent functions depend how you program.
To help you, look at this :
GGMSTATE("LEFT") return the current state of the left button of the mouse
GGMSTATE("RIGHT") return the current state of the right button of the mouse
PUBVAR() contain a static array where i put all my "public" variables
(so it's not public).
WINATTEND() must be used in your wait state procedure,
not in the "ON INIT" of a Window. I you have a problem with
CPU time, this is because your application start in the "ON INIT"
of the main Window, no ? Your program never stop, always
it do something, like waiting keybord and state of the mouse.
With WinAttend(), you can stop where you want to reduce
the activity of your program. Place it in all the wait states
is the first step.
If yours wait states was controled directly by a window,
a dialog, a get, or i don't know what other, you have
not this problem. But to do that, you must rewrite a very
big part of your code. This is not my way today, i want
keep the same code for my DOS exe and for my Windows exe.
KeyNext() return the same values than Clipper DOS NextKey().
I have created this function because i never can use TGET class,
an few years ago i have rewritted Clipper GET, TBROWSE,
MEMOEDIT, LABELS and few others. I control all the wait states
in Clipper, and now in Fivewin with just a call of WinAttend()
in my unique wait state procedure.
Regards,