Hi Jim
>
>If you want F9 to be the hotkey to a button do it in the form's keypress event with the KeyPreview for the fomr set to .T.;
>
>* KeyPress
>LPARAMETERS nKeyCode ...
>IF nKeyCode = -8
> NODEFAULT
> Thisform.Whatever.Click()
>ENDIF
>
this looks potentially useful. However, unless I can put the buttons onto a another form like I just tried to, or hide them some other way whilst still allowing them to be called, then thats a non starter because I need too many buttons.
The question here is instead of calling a button's click method, why can't I just call a new form method so that the code becomes:
LPARAMETERS nKeyCode ...
do case
case nKeyCode = -8 && F9
NODEFAULT && Stop VFP key processing
Thisform.mynewmethod()
case nKeyCode = etc...
ENDCASE
Again the important question is: does this overcome the interprocess problem? Does calling a form method force the system to wait until it is safe to proceed?
Harry